2009-09-09 84 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服務)

相關問題