如何从Visual Studio 2008中的配置文件中提取ASP.NET Web引用的URL?

时间:2020-03-05 18:38:27  来源:igfitidea点击:

我的应用程序中嵌入了报表服务器的Web参考。报表所在的服务器可能会更改,但我希望能够在需要时"即时"更改它。

我知道我以前曾经做过,但是似乎不记得怎么做。谢谢你的帮助。

我暂时已手动解决此问题。在代码中设置URL没什么大不了的,但是我想弄清楚在VS 2008中做到这一点的"正确"方法是什么。谁能提供进一步的见解?谢谢!

在VS2008中,当我将URL Behavior属性更改为Dynamic时,我在Reference类中自动生成了以下代码。

我可以在web.config中覆盖此设置(MySettings)吗?我想我不知道设置的工作原理。

Public Sub New()
    MyBase.New
    Me.Url = Global.My.MySettings.Default.Namespace_Reference_ServiceName
    If (Me.IsLocalFileSystemWebService(Me.Url) = true) Then
        Me.UseDefaultCredentials = true
        Me.useDefaultCredentialsSetExplicitly = false
    Else
        Me.useDefaultCredentialsSetExplicitly = true
    End If
End Sub

编辑

因此,自VS03(这可能是我用来执行此操作的最后一个VS版本)以来,这些东西已经发生了一些变化。

根据:http://msdn.microsoft.com/zh-cn/library/a65txexh.a​​spx,看来我有一个设置对象,可以在其中以编程方式设置属性,但是我需要提供检索逻辑该网址来自web.config。

这是在VS2008中执行此操作的新标准方法,还是我错过了什么?

编辑#2

有人在这里有什么想法吗?我在应用程序中四处浏览,然后将URL自己放在web.config中并读出来。但是我对此不满意,因为它仍然感觉像我缺少了一些东西。

解决方案

回答

在属性窗口中,将"行为"更改为"动态"。

请参阅:http://www.codeproject.com/KB/XML/wsdldynamicurl.aspx

回答

如果我们指的是VS2005" Web参考",则生成的代理类具有URL属性,该属性是该服务的SOAP端点URL。我们可以更改此属性,并与该新端点进行后续的HTTP通信。

编辑:啊,谢谢bcaff86. 我不知道我们可以简单地通过更改属性来做到这一点。