2

基本的に、WCF サービス (Calculator.svc) を使用する必要があるアプリケーションがあります。デバッグ中、サービスはローカル マシンでホストされていますが、リリースではサービスは IIS サーバーでホストされています。

デバッグ アドレス:http://localhost/MyProj/Services/Calculator.svc
リリース アドレス:http://www.mycompany.com/Services/Calculator.svc

サービス参照を追加せずに手動でサービスを構築する場合、これはもはや問題ではありません。しかし、自分の localhost アドレスにサービス参照を追加した場合、リリース モード中にそれを動的に変更するにはどうすればよいでしょうか?


注: 新しい CalculatorClient を作成し、独自の Binding と EndpointAddress にフィードできることはわかっていますが、それは適切な方法ですか?

CalculatorClient client;

#if NOT DEBUG
Binding binding = new BasicHttpBinding("MyConfig");
EndpointAddress remoteAddress = new EndpointAddress("http://www.mycompany.com/Services/Calculator.svc");

client = new CalculatorClient(binding, remoteAddress);

#else
client = new CalculatorClient();
#endif

これを行うためのより簡単な方法またはより適切な方法はありますか?

4

1 に答える 1

1

基本的に、次の 2 つのオプションがあります。

1)app.configビルド/デプロイ スクリプトの値を変更します。

2) 両方に同じアドレスを使用します。開発マシンでは、ローカルホストをHOSTS指すエントリをファイルに追加することでセットアップできますwww.mycompany.com。これが完了したら、ホスト ヘッダー用に iis で Web サイトをセットアップし、www.mycompany.comそこからプロジェクトを提供します。

于 2011-03-16T13:19:49.513 に答える