2011-06-30 10 views
0

この質問は、次の質問の結果である:determining which server (in a web farm) the asp.net ajax request came from?Webファーム内のどのサーバーがWebメソッドを実行したのかを確認しますか?

問題は、我々は一般的に(ASMX/WCFサービスの一部であってもよい)、ウェブメソッドとの通信を自動的に生成されたプロキシクラスを使用することです。 Webサービスサーバーから応答を受け取ったとき、処理されたサーバーをどのように知っていますか?

(ほとんど)実行しているサーバーサイドコードからの応答を受け取ります。そのスクリプトサービス(javascriptを介して呼び出すことができます)は、別のケース全体です。

Webサービスが返された後、どのように応答ヘッダーを読むことができますか?

私はこの問題を解決するために独自のプロキシクラスを構築することに制約がありますか?

+1

は、なぜあなたは知っておく必要がありますかファーム内のどのサーバー要求に応答していますか?確かにファームのポイントは、サーバーは交換可能であるということですか? –

+0

ウェブファームのポイントは(他のものの中でも)透明です - クライアントはその存在を知りません。要求を実行する実サーバの知識に依存してクライアント側のロジックを構築することは、間違ったアーキテクチャです。 –

+0

Damien、Ladislavの両方に同意します。人々はピーク時にサイトが遅いと不平を言う。コードでは、dbコールやWebサービスコールのようなクリティカルポイントの前後にTraceステートメントを配置しています。また、web.configの 'trace'要素の' localOnly'属性を 'true'に設定します。つまり、サービスを提供した実際のサーバにログインして、何がサイトを遅らせているかを知ることができます。私たちの調査をどのようにしなければならないのか。他の提案は歓迎されます。 – deostroll

答えて

0

片道。それは最善の方法ではなく、何か新しいことが起こるまでやります。 fiddler/burpのようなツールがあれば、レスポンスヘッダを調べることができます。したがって、応答ヘッダーを適切に設定するようにIISを構成する必要があります。デフォルトでは

彼らはX-ASP.NET ...のような何かを出力するように構成されている良いアイデアはそれにサーバー名を追加することです...

関連する問題