编程语言
首页 > 编程语言> > c#-在Visual Studio中更新Web参考

c#-在Visual Studio中更新Web参考

作者:互联网

我继承了一个网站项目,该项目利用了BizTalk服务器上托管的许多WCF Web服务.我们需要将这个项目部署到两个环境中,并为不同的BizTalk服务器使用不同的URL.

即在暂存环境中,我需要将服务指向xx.xx.xx.101
在实时环境中,我需要将它们指向xx.xx.xx.102或其他名称.

当前,我们已经将所有URL存储在web.config文件的键中,以便我们可以动态更改它们.不幸的是,这不起作用.

如果将web.config中的URL更改为与项目编译时不同的URL,则在调用服务时收到错误消息:

Server did not recognize the value of HTTP Header SOAPAction:
xx.xx.xx.101\ServiceName\MethodName

有人告诉我,他们唯一已知的部署方法是更新web.config URL,更改Visual Studio中的所有Web引用以匹配,单击Visual Studio中每个引用的“更新Web引用”,然后编译.

我已经编写了一个预构建的NAnt脚本来遍历并替换在项目目录中任何位置找到的URL的所有实例,即使那样也没有任何区别.

当我单击“更新参考”时,必须从服务中删除其他内容,但不确定.

有人有什么想法吗?有没有办法以编程方式执行此操作?

解决方法:

除了网址外,在其他服务器上引用的Web服务是否完全相同?特别是所有引用服务的名称空间必须相同.

如果引用的Web服务的名称空间和其他所有内容完全相同,则只需更新Web服务终结点,而不必更新整个Web参考.您可以通过将服务的Url属性设置为配置值来设置端点

YourServiceReference yourService = new YourServiceReference();
yourService.Url = "http://yourconfigendpoint";

编辑:这是针对旧式的Web服务,不是对WCF感兴趣,但应该相似.

标签:biztalk,web-services,wcf,c
来源: https://codeday.me/bug/20191210/2100043.html