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

时间:2008-08-07 19:20:27

标签: asmx

我有一个嵌入在我们的应用程序中的报表服务器的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/en-us/library/a65txexh.aspx看起来我有一个设置对象,我可以在其上以编程方式设置属性,但我需要提供从web.config检索该URL的逻辑。

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

编辑#2

这里有任何想法吗?我在我的应用程序中开车绕过它,然后自己将URL放在我的web.config中并读出来。但我对此并不满意,因为它仍然感觉我错过了什么。

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:0)

如果您指的是VS2005“Web引用”,则生成的代理类具有URL属性,该属性是该服务的SOAP端点URL。您可以更改此属性,并将后续的http通信发送到该新端点。

编辑:啊,谢谢bcaff86。我不知道你只是通过更改房产就可以做到这一点。