2011-06-23 13 views
0

.NET Webサービスに関する問題を解決するための少し助けが必要です。私は私のメインWebサービスを消費するデスクトップアプリケーションを持っています。メソッドの1つはレポートデータを取得しますが、そのためにWebサービス(A)はWebサービス(B)のメソッドを呼び出します。 "A"のメソッドに渡すパラメータに応じて、動作するか失敗するかのどちらかです。フィルタを渡すと、データセットがかなり小さくなります。フィルタを渡さないと、データセットが非常に大きいことは明らかです。さらに、Webサービス "A"をデバッグモードで実行し、デスクトップアプリケーションをローカルバージョンにポイントすると(Bはプロダクションサーバーにあります)、データをフィルタリングするかどうかを判断します。私が得たエラーは、運用中の502 Bad Gatewayであり、502 - Webサーバーはゲートウェイまたはプロキシサーバーとして動作している間に無効な応答を受信しました。IIS7/.NET Webサービス - あるWebサービスが別のWebサービスを呼び出すとエラーが発生する

私はウェブファームのARRに入り、「プロキシ」設定を見つけてタイムアウトを1200秒に調整しました(私のアプリは通常20-30秒以内に失敗します) mはこのエラーを受け取ります。 HTTPバージョンは「Keep Alive」チェックボックスをオンにしてパススルーモードになっています。

1つのWebサービスが別のWebサービスを使用しているときに、Webサービスなどを消費するWindowsサービスを使用しても問題はありません。

追加、 私は自分のWebサービスメソッド内の任意のセッションを使用していない、と私は、Webサービス「B」で呼んWebMethod属性は、5分のcacheduration値セットを持っていると信じています。

私はIIS 7の知識が不足していることなど、私の頭が傷ついています。誰かがアイデアを持っている、または正しい方向に私を指すことができるなら、私は確かにそれを感謝します。

+0

同じ問題 - Windows 2008 SP2 64ビットとIIS7を使用しています。 20秒後にもう1つのWebサービスに依頼すると、タイムアウトのソケット例外が発生して失敗します。他と同じ証明書を使用していると思っていますが、別のサービスを呼び出しても問題ありません。同じアプリケーションプール。同じコンピュータ。同じ証明書。 –

答えて

3

私はここに来て誰かが同じ問題に遭遇した場合にこの質問に答えると思った。この問題はサーバー関連ではありませんでした。それはコード関連でした。私のコードでは、データテーブル(c#)があり、多くの "OR"のあるフィルタで渡すdatatable.select(....)を行っていました。 Ex。フィルタ= 'x'または 'y'または 'z'など私は約100のdatatable.selectメソッドは、stackoverflow例外を生成する原因としました。私は "IN(x、y、z)"を行うようにコードを変更しました。これが誰かを助けることを望みます。

+1

問題を解決したらあなた自身の答えを受け入れることは大歓迎です! – corsiKa

関連する問題