如果我將WCF Web Service從.NET 3.5升級到4.0,不作其他更改,是否有任何更改暴露給外部世界的合同的風險?即。我的消費者是否需要重新構建WSDL?是否將WCF服務從.NET 3.5升級到4.0會更改合同?
如果是這樣,我能做些什麼來阻止這種情況發生?
編輯:我談論的那種事情的一個例子。
我們一直在使用這樣的事情了,而 http://www.codeproject.com/KB/aspnet/WSSecurityProvider.aspx
我可能讀這個錯誤,但是當我升級服務器和客戶端reconsumed,在Reference.cs改變,這樣
public MyNamespace.MembershipUser RemoteMembershipProvider_CreateUser(out System.Web.Security.MembershipCreateStatus status, string providerName, string applicationName, string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey) {
return base.Channel.RemoteMembershipProvider_CreateUser(out status, providerName, applicationName, username, password, email, passwordQuestion, passwordAnswer, isApproved, providerUserKey);
}
改爲
public MyNamespace.MembershipUser RemoteMembershipProvider_CreateUser(out MyNamespace.MembershipCreateStatus status, string providerName, string applicationName, string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey) {
return base.Channel.RemoteMembershipProvider_CreateUser(out status, providerName, applicationName, username, password, email, passwordQuestion, passwordAnswer, isApproved, providerUserKey);
}
注意事項MembershipCreateStatus在命名空間中的變化。
(沒有,我真的沒有一個叫myNameSpace對象命名空間)
我錯在想,如果我沒有reconsumed,它就會停止工作?
如果不是,具體變化的是什麼,它會影響多少其他情況?只是框架枚舉?還是比這更多?
序列化消息依賴於類名和名稱空間,其中一些是由框架自動生成的。這是我的擔憂。不是說你錯了,我只是說比我有更多的控制權。 – pdr 2010-09-07 18:00:14
Xml命名空間不會更改,因此序列化不會被破壞。 – 2010-09-07 18:55:59
@Ladislav - 看起來你是對的。它改變了框架的客戶端。感謝你們倆 – pdr 2010-09-07 19:46:15