以编程方式编辑Web服务的终结点

4

我能否以程序化的方式更改 Web 服务中 <endpoint address="..." /> 的值?在我的 app.config 文件中,我有以下代码:

<system.serviceModel>
   <bindings>
       ...
   </bindings>
   <client>
     <endpoint address="http://dev.remotedomain.com/WebServices/WebService.asmx"
         binding="basicHttpBinding" bindingConfiguration="InboxServiceSoap"
         contract="InboxServiceSoap"
         name="InboxServiceSoap" />
   </client>
</system.serviceModel>

我希望能够进行更改。

address="http://dev.remotedomain.com/WebServices/WebService.asmx"

为了

address="http://mymachine/WebServices/WebService.asmx"

在.NET中,是否可以通过编程的方式在代码中实现这一点?
2个回答

4
您可以使用类似以下代码的代码:

Dim服务 as 新的XXXXXClient 服务.Endpoint.Address = 新的EndpointAddress(myUrl)


这个可以工作,但让我感到怀疑。在添加了 WCF 服务引用之后,有半打项目文件引用了服务 URL。然后我将服务移动到不同的 URL,添加了这行代码,一切都正常工作了。似乎不应该编译通过??? - nuander
@nuander 编译没问题,只是一个字符串不同而已。只要不同的URL符合相同的协议和格式,也不会有运行时问题。 - Jeroen K


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接