Если я обновляю веб-службу 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)
Я ошибаюсь, думая, что если бы я не перезарядился, он бы перестал работать?
А если нет, то что конкретно изменилось и на сколько других случаев это повлияет? Просто фреймворк перечисляет? Или более того?