使用旧的Web引用类和新的Web服务?

时间:2012-03-22 14:44:32

标签: c# asp.net .net web-services asmx

我有大约十几个C#项目和网站使用的网络服务。我的一个Web方法(类类型)的返回类型已更改为添加新属性。我工作的一个(十几个)项目有更新的参考类,以反映客户端的新属性更改并且工作正常。

我的问题是,对于同时引用此服务的其他11个项目,是否不会更新本地代理类以反映此更改导致它们中断?基本上,当对此Web方法(具有更新的返回类型)的请求进行,并且响应中存在新字段但不能绑定到本地类属性时,它是否会中断?

3 个答案:

答案 0 :(得分:1)

如果您没有更改网络服务的输入,我认为它不会破坏。我们一直这样做,将新功能,属性等添加到服务中,并仅更新将使用新内容的站点。当您更改输入和服务期望时,问题就出现了。或者你改变了返回的值的类型,接收程序期望一件事,但现在它可能会收到不同的类型/值。

我认为你没事,但我强烈建议用一个仍在使用旧引用的网站测试它以验证你的确定。

答案 1 :(得分:0)

这取决于。如果您使用WCF公开您的Web服务,则可以使用版本控制:

Service versioning

请参阅“数据合约版本控制”。

如果您使用的是.asmx服务,则会失败。

答案 2 :(得分:0)

我确定它没有破坏它。谢谢你的回复。