2009-09-09 76 views
7

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

谢谢!

+0

可能重复[是否有可能在运行时更改WebReference的属性?](http://stackoverflow.com/questions/211510/is-it-possible-to-change-the-properties-of- a-web-reference-in-run-time) – 2012-11-22 17:45:15

回答

4

是的,你可以改变在运行时被引用的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(); }   } 

同时在.config文件,你必须:

<appSettings> 
    <add key="MyWebServiceURL" value="http://blah/foo/bar.asmx" /> 
    </appSettings> 
+0

@pcampbell:这对我有意义。 – 2009-09-09 17:22:56

+0

我正在谈论客户端应用程序的配置以指向正确的URL。不是在服务器上运行的Web服务。为什么我会重置IIS? – Nick 2009-09-09 18:29:41

+0

我有一个Web应用程序从.config文件中提取设置。 – 2009-09-09 19:22:42

0

您可以更改网络配置的URL(如果web服务保持不变不是很确定,如果是更改了web服务)