2

我们有几个 .asmx soap web 服务来处理我们的 web gui 和我们的后端应用服务器之间的通信。最近,我们从在内置 Web 服务器中运行 Visual Studio 2010 解决方案转变为通过 IIS 7.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 回答