在.NET中,您能否在运行时更改动态Web引用的位置/终结点?

5
以相当标准的方式,我正在为我正在构建的扩展程序(Jira是一个问题跟踪器)创建SOAP服务的Web引用。Visual Studio自动生成了一个.Settings文件和一个包含Web服务URL的app.config。
由于我正在开发一个与我们正在构建的ALM产品集成的扩展/插件,所以扩展程序的消费者将最终决定这个Web服务指向哪里,因为它将与消费者的Jira实例集成。假设Web服务URL将存储并从数据库中提取。
如何让自动生成的服务使用来自数据库而不是生成的app.config的URL?
注意:我们正在使用2.0版本的框架,因此WCF不是一个选择。
2个回答

10

即使在2.0版本的网络服务中,您也应该能够更改您的网络服务代理的"Url"属性值为您想要的值。


1
这个“Url”属性在哪里? - capdragon
.NET 3.5似乎完全不同,我曾在.NET 2.0项目中使用此方法。有人知道如何在C#3.5中实现吗? 我想我可以通过更改Endpoint.Address设置来使它起作用,但是这对于一个地址使用SSL而另一个不使用的情况无效。我该怎么重置Endpoint呢? - RLH

1
使用允许uri的客户端构造函数。

似乎不是在构造函数中,我必须像Otávio建议的那样使用Url属性。 - John Rasch
1
你在构造函数中已经有了它,但像Otavio建议的那样使用url属性更容易: HelloWorld.HelloWorldClient hello = new HelloWorld.HelloWorldClient("BasicHttpBinding_IHel loWorld", new EndpointAddress("http://localhost:8888/BasicHost/HelloWorld")); - Pablo Castilla

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