wcf动作网址动态?

时间:2014-03-14 12:43:19

标签: .net wcf

我的网络服务将动作网址显示为

http://tempuri.org/Iservice/getPing

我看到很多帖子如下面告诉我,我可以重新定义合同类中的网址

How to specify custom SoapAction for WCF

但我不想硬编码修复网址。我希望我的动作网址应该是动态的。如果我在我的暂存网址上运行我的服务应该是staging.com/Iservice/getPing和生产production.com/Iservice/getPing。可能吗? 实际上是另一个问题,我想在此之前问一下,这还有必要吗?在旧的asmx webservices中,我猜它是自动处理的。

谢谢。

1 个答案:

答案 0 :(得分:1)

它不是服务URL(... locator ),而是" ... WSDL元素中合同的名称和命名空间... "它必须是一个有效的URI(... 标识符),所以你可以简单地忽略它(或者,更好的是,设置为有意义的东西)。另请参阅this Wikipedia article

不要忘记它[命名空间]一定不能改变,否则你的客户会看到两种不同的服务。 [服务] URL将根据您的服务发布地点而变化。它不是(并且不应该)在任何地方进行硬编码。

将URI命名空间设想为C#类的命名空间。它是合同的一部分,它不应该改变(因为当你将一个程序集从一个目录移动到另一个目录时,它不会改变C#类)。它应该是某种独特的Web服务,但它是推荐的,而不是严格强制性的。