在过去的一个月错误REST服务,我注意到一个奇怪的行为,其中错误的REST服务调用服务栈。调用ServiceStack
一切似乎是工作,然后当我添加一个新的REST服务,一些如何我的工作REST服务无法正常工作(即错误的REST服务调用)。
我会解释我是如何有我datacontracts对于这可以解释为什么我得到这个问题的服务。
我最初有:
[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; }
}
和我经过相同的数据(会话ID,用户名和服务名)在我所有的电话,任何新的服务作为开始:
[DataContract(Name = "MyService", Namespace = "")]
[RestService("/api/v1/dvbs/{ServiceName}/tuners", "GET", "application/xml")]
public class GetTunersDto : GetServiceDto
{
}
正如我提到这一切都工作正常,但当我添加一个新的服务,当我打电话给“api/v1/dvbs/{ServiceName}服务”api/v2/dvbs/{ServiceName} /调谐器“将被调用。删除了继承关系,使我有:
[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;}
}
它现在工作正常。
奇怪的是它是工作的罚款,只有当我在以后的日子增添了新的服务,错误映射发生。
任何想法?
谢谢,我会记住的。 –