За последний месяц я заметил странное поведение, когда неправильная служба REST вызывается с помощью стека служб.Неверный сервис Rest вызван с ServiceStack
Кажется, что все работает, а затем, когда я добавляю новый сервис REST, некоторые из того, как моя работающая служба REST работает некорректно (т. Е. Вызывается неправильная служба REST).
Я объясню, как у меня есть мои данные для служб, которые могут объяснить, почему у меня проблема.
я изначально имел:
[DataContract(Name = "MyService", Namespace = "")]
[RestService("/api/v1/dvbs/{ServiceName}", "GET", "application/xml")]
public class GetServiceDto
{
[DataMember(Name = "SessionId", Order = 1)]
public string SessionId { get; set; }
[DataMember(Name = "UserName", Order = 2)]
public string UserName { get; set; }
[DataMember(Name = "ServiceName", Order = 3)]
public string ServiceName { get; set; }
}
и, как я проходил одни и тот же данные (SessionID, имя пользователя и SERVICENAME) во всех моих звонках, любая новая услуга началась как:
[DataContract(Name = "MyService", Namespace = "")]
[RestService("/api/v1/dvbs/{ServiceName}/tuners", "GET", "application/xml")]
public class GetTunersDto : GetServiceDto
{
}
В I упомянутое это все работало нормально, но когда я добавил новую услугу, когда я назвал «api/v1/dvbs/{ServiceName}, будет вызвана услуга« api/v2/dvbs/{ServiceName}/tuners ».
I удалены унаследованные так что у меня есть:
[DataContract(Name = "MyService", Namespace = "")]
[RestService("/api/v1/dvbs/{ServiceName}/tuners", "GET", "application/xml")]
public class GetDvbConfigTunersDto
{
[DataMember(Name = "SessionId", Order = 1)]
public string SessionId { get; set; }
[DataMember(Name = "UserName", Order = 2)]
public string UserName { get; set; }
[DataMember(Name = "ServiceName", Order = 3)]
public string ServiceName { get; set;}
}
и он отлично работает сейчас.
Странно, что он работает нормально и только тогда, когда я добавил новую услугу позднее, что произошло неправильное сопоставление.
Любые идеи?
Спасибо, я запомню это. –