[英]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.