2011-12-22 8 views
2

Webサービスへの参照を持つクラスライブラリがあり、web.configにこのクラスライブラリを含めます。クラスライブラリに存在するWebサービスのURLを変更するにはどうすればよいですか?

今、私は通常、web.configで行うように、WebサービスのURLを動的に変更できるようにします。これどうやってするの?私はweb.configに設定を入れてみましたが、変更しても効果はありません。

<applicationSettings> 
    <MyClassLibraryAppConfig.WCFServices.Properties.Settings> 
     <setting name="WebServiceKey" 
     serializeAs="String"> 
     <value>http://localhost/badaddress.asmx</value> 
     </setting>  
    </MyClassLibraryAppConfig.WCFServices.Properties.Settings> 
    </applicationSettings> 

    <applicationSettings> 
    <MyApp.Properties.Settings> 
     <setting name="WebServiceKey" 
     serializeAs="String"> 
     <value>http://localhost/goodaddress.asmx</value> 
     </setting>  
    </MyApp.Properties.Settings> 
    </applicationSettings> 

答えて

2

ほとんどの場合、ウェブサービスのURLをホストアプリケーションのweb.configに移動することは間違いありません。あなたはweb.configファイルの値を変更することは効果がありませんが、私はそれを再確認したいと述べました。あなたがハードコードされたURLを持っていない限り、それはホストプロセスがそれを読む場所です。

+1

URLはクラスライブラリのapp.configに設定されています...どうすればハードコードされないようにできますか? – zachary

+1

web.configに同じキーを持つエントリがある限り、app.config値は無視されます。それをクラスライブラリapp.configからホストweb.configにコピー&ペーストするだけです。 –

+0

私は同じ鍵を持っています。私は質問にあなたを表示するために更新された設定を投稿します。たぶん私は何かを見逃しています。 – zachary

0

ウェブ参照を使用している場合は、Ways to Customize your ASMX Client Proxyを参照してください。 WCFを使用している場合は、EndpointAddressを含むプロキシクラスコンストラクターのオーバーロードを使用できます。

関連する問題