Если я обновлю веб-службу WCF с .NET 3.5 до 4.0, не внося никаких других изменений, есть ли риск изменения контракта, выставленного внешнему миру? то есть. Потребуются ли моим потребителям пересмотреть WSDL?
Если так, могу ли я что-нибудь сделать, чтобы это не произошло?
РЕДАКТИРОВАТЬ : Пример того, о чем я говорю.
Некоторое время мы использовали что-то подобное
http://www.codeproject.com/KB/aspnet/WSSecurityProvider.aspx
Возможно, я неправильно это прочитал, но когда я обновил сервер и возобновил работу с клиента, файл 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)
Я ошибаюсь, думая, что, если бы я не переосмыслил, он бы перестал работать?
А если нет, то что конкретно изменилось, и на сколько еще это повлияет? Просто рамки перечислений? Или более того?