我可以在Config文件中更改Web服务引用URL吗?

Nic*_*ick 7 web-services web-reference asmx winforms

我有一个针对2.0 .NET框架的应用程序.解决方案是使用VS Web服务引用文件夹.通过解决方案的grep显示该URL存在于少数几个文件中.但是,在部署的应用程序中,搜索显示URL仅存在于.config中.那么.disco和.wsdl发生了什么?它们被编译成.exe吗?基本上,我需要更新URL,我需要知道这是否需要新的构建.

谢谢!

p.c*_*ell 5

是的,您可以更改运行时引用的 URL。

如果它位于 .config 文件中,IIS 将让您的应用程序应检测 .config 文件中的更改并加载新值。如果没有,那么您必须重新启动客户端。也许您可以停止并启动 IIS 中的网站。

此外,您绝对可以编写代码以从 .config 文件中读取。

  var myWS = new MyWebService();
  myWS.Url = WebServiceURL;
  myWS.SomeMethod();                     

private static string WebServiceURL { 
   get { return ConfigurationManager.AppSettings["MyWebServiceURL"].ToString(); }           }
Run Code Online (Sandbox Code Playgroud)

同时在您的.config文件中,您有:

  <appSettings>
    <add key="MyWebServiceURL" value="http://blah/foo/bar.asmx" />
  </appSettings>
Run Code Online (Sandbox Code Playgroud)