2011-10-05 62 views

回答

0

这取决于变化的,你在服务定义应用性质。如果您添加了一些可选项,只有新客户端可以使用,但旧客户端可以忽略,则您已经引入了向后兼容更改,因此除非客户决定使用此新功能,否则不应更新客户端。任何影响现有客户端使用服务方式的更改都需要客户端更新,因为它代表了重大更改。

在WCF的情况下,如果你使用的最新版本4.0,它引入了一个新的协议实现WS-Discovery,其中可以帮助客户找到服务的URL,他们可以用正确的版本。例如,使用这种方法,可以在不同的URL中部署新版本,客户端应用程序可以自动发现它。

问候 巴勃罗。

1

你一定要读Service Versioning - 它拥有你所需要的信息。

但回答你的问题是:也许

有两种类型的变化:破坏和不破坏。不幸的是,有时不清楚什么是突破性或非突破性的变化,因为它可能取决于客户在做什么(并且您可能不知道如何使用您的服务)。

就改变服务地点而言,这通常是一个重大改变。然而,正如你所提到的,如果客户使用UDDI,那么他们应该能够检索新的端点位置,并且这种改变不会是一个突破性的改变。

如果添加另一个参数,那么这可能是一个突破性变化(或者可能不是)。如果参数是可选的,并且客户端使用宽松版本(例如WCF,.asmx),那么更改不应该是一个突破。但可能是客户端需要一个非常特定的格式,或者他们正在进行一些模式验证等,而可选参数可能会导致失败。

0

嘿没有完全理解你的问题,并从我可以从你的questino得到它听起来像你需要更新客户端上的Web引用。

如果你已经更新了你的引用,没有改变位置: 所以加载你的客户端解决方案,然后找到你的引用(而不是dll引用),但Web /服务引用,然后右键单击并选择“更新Web引用“

如果你已经改变了位置,你可以,如果你去的属性更改端点,但我只想删除现有的一个,并使用新的位置一个新的。

希望它有帮助。

欲了解更多信息请查看http://msdn.microsoft.com/en-us/library/bb628652.aspx

相关问题