【发布时间】:2010-03-09 09:30:38
【问题描述】:
我继承了一个网站项目,该项目利用了托管在 BizTalk 服务器上的许多 WCF Web 服务。我需要将这个项目部署到两个环境中,不同的 BizTalk 服务器具有不同的 URL。
即在 Staging 环境中,我需要将服务指向xx.xx.xx.101
在 Live 环境中,我需要将它们指向 xx.xx.xx.102 或其他。
目前,我们已将所有 URL 存储在 web.config 文件中的键中,以便我们可以动态更改它们。不幸的是,这不起作用。
如果我将 web.config 中的 URL 更改为项目编译时使用的 URL,调用服务时会出错:
服务器无法识别 HTTP Header SOAPAction 的值: xx.xx.xx.101\ServiceName\MethodName
有人告诉我,他们知道部署它的唯一方法是更新 web.config URL,将 Visual Studio 中的所有 Web 引用更改为匹配,为每个引用单击“更新 Web 引用” Visual Studio,然后编译。
我已经编写了一个预构建的 NAnt 脚本来遍历并替换在项目目录中的任何位置找到的所有 URL 实例,即使这样也没有任何区别。
当我点击“更新参考”时,一定有其他东西从服务中拉下来,但我不确定是什么。
有人有什么想法吗?有没有办法以编程方式做到这一点?
【问题讨论】:
-
这些是网络引用还是服务引用?
标签: c# wcf web-services biztalk