2009-09-09 7 views
7

2.0 .NETフレームワークを対象とするアプリケーションがあります。解決策は、VS Webサービスの参照フォルダを使用しています。解決策を通してgrepは、このURLが少数のファイルに存在することを明らかにします。しかし、配備されたアプリケーションでは、URLが.configのみに存在することが検索によって示されます。では、.discoと.wsdlはどうなったのですか?彼らは.exeにコンパイルされていますか?基本的にはURLを更新する必要があり、新しいビルドが必要かどうかを知る必要があります。ConfigファイルでWebサービスの参照URLを変更することはできますか?

ありがとうございます!

+0

可能な複製[実行時にWebReferenceのプロパティを変更することはできますか?](http://stackoverflow.com/questions/211510/is-it-possible-to-change-the-properties-of- a-webreference-in-run-time) –

答えて

4

はい、実行時に参照されているURLを変更できます。

.configファイルにある場合、 IIS .configファイルの変更を検出して新しい値を読み込む必要があります。そうでなければ、クライアントを再起動する必要があります。 おそらく、IISでWebサイトを停止して開始することができます。

さらに、.configファイルから読み込むようにコードを書き込むことができます。

あなたが持っているあなたの .configファイル内の一方
var myWS = new MyWebService(); 
    myWS.Url = WebServiceURL; 
    myWS.SomeMethod();      

private static string WebServiceURL { 
    get { return ConfigurationManager.AppSettings["MyWebServiceURL"].ToString(); }   } 

、:

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

@pcampbell:それは私には意味があります。 –

+0

私は、正しいURLを指すクライアントアプリケーションの設定について話しています。サーバーで実行されているWebサービスではありません。なぜIISをリセットするのですか? – Nick

+0

私は、Webアプリケーションが.configファイルから設定を取得するというシナリオを思いつきました。 –

0

(。Webサービスが変更されないままであれば変更としてのWebServiceもしそうであればわからない)あなたがウェブの設定でURLを変更することができます

関連する問題