2

WebGUIとバックエンドアプリサーバー間の通信を処理する.asmxSOAPWebサービスがいくつかあります。最近、組み込みのWebサーバーでVisual Studio 2010ソリューションを実行することから、IIS7.5を介して実行するようになりました。すぐに応答時間が非常に遅くなり、xmlのタイムアウトやシリアル化エラーなど、以前は見られなかったさまざまな例外が発生し始めました。

私たちは問題を最小限に絞ろうとしましたが、解決策は短いので、誰かが同じことを経験したか、おそらく解決策を持っているかどうかを確認するために、問題を「そこに」投げています。

PS。.asmx Webサービスが古くなっていることはわかっていますが、現時点ではサービスをWCFに変換できません。DS。

このコードはエラーを再現します:

[WebMethod]
public string DebugGetAuditTrail()
{
   const string data = "Some random text that is not very interesting. ";
   StringBuilder lotsOfData = new StringBuilder();
   for(int counter=0; counter<100000; counter++)
   {
      lotsOfData.Append(data);
   }

   return lotsOfData.ToString();
}

web.configには次のように記載されています。

<httpRuntime executionTimeout="600" requestValidationMode="2.0" maxRequestLength="1400000"/>

前もって感謝します!

4

1 に答える 1

0

理想的には、Webサービスを使用して大量のデータを送信することはお勧めできません。ただし、このような状況に対処するには、データを小さなパケットに分割するのが最善の方法です。

できることは、データパケットにインデックスを付けるヘッダーを作成することです。ヘッダーを受信したら、データの残りの部分を送信するようにサーバーを構成します。

于 2012-10-15T08:14:11.933 に答える