バックグラウンドで実行されるC#アプリケーションがあります。このアプリケーションの実行には1〜10分かかりますが、開始から実行終了までに複数のWebメソッドを呼び出すWCFサービスと通信しています。実行時にクライアントのエンドポイントを再割り当て
プロキシオブジェクトが非常に多く作成されたり閉じたりするのを避けるため、プロセスの期間中に1つのプロキシオブジェクトがあります。私はWCFサービスのコピーが載っている場所にIISが設定されたサーバーボックスをいくつか持っており、両方のボックスを使って負荷を分散させたいのです。高価なロードバランシングソリューションがないため、メソッドコールごとに異なるサーバーボックスと通信するために、オンザフライでプロキシのエンドポイントアドレスを変更する必要があります。
私は、最初のメソッド呼び出し前にこれを試してみた:さらにラインの下にこれを変更すること
client.Endpoint.Address = new EndpointAddress("http://box1.wcfserviceaddress.com/MyService.svc");
は、最初に接続されたクライアントは、メソッド呼び出しを受け続けても効果や箱を持っていません。また、サービスインスタンス管理をセッションから通話に変更しても差はありません。
これを行うことができますか、メソッド呼び出しごとにクライアントを作成する必要がありますか?
よろしく、
F.