[英]Change namespace of WCF project without affecting clients
我们已经创建并部署了WCF服务,该服务已被各种第三方使用。
但是,我们现在要更改该特定项目中类的名称空间。 无论如何,是否需要这样做而无需第三方做出任何改变?
例:
namespace Test.Service
{
[ServiceContract]
public interface MyService
{
[OperationContract]
List<People> GetPeople();
}
public class MyService : IMyService
{
public List<People> GetPeople()
{
// Logic here
}
}
}
namespace Test.Service.DTO
{
[DataContract]
public class Person { }
}
至
namespace Something.Different
{
[ServiceContract]
public interface MyService
{
[OperationContract]
List<People> GetPeople();
}
public class MyService : IMyService
{
public List<People> GetPeople()
{
// Logic here
}
}
}
namespace Something.Different.DTO
{
[DataContract]
public class Person { }
}
实际上,这似乎主要是与WDSL中生成的DTO的名称空间有关的问题。
他们正在改变
http://schemas.datacontract.org/2004/07/Something.Different.DTO
从
http://schemas.datacontract.org/2004/07/Test.Service.DTO
这似乎导致调用的结果(不会出错)未反序列化,因此列表最终为空。
只要在服务内部进行所有重构,就不会有任何问题,只要:
[DataContract]
类的共享库 问候
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.