ASMX Web服务无法将响应发送回浏览器

时间:2014-07-16 15:34:56

标签: asp-classic iis-7.5 asmx

我们最近搬到了一个新系统并看到了一个奇怪的问题,但作为前言,我们使用的是javascript,经典asp和asmx网络服务(直到我们可以重新编码)。

我们的Web服务在IIS 7.5上的各个应用程序池中设置。有问题的Web服务在.net 4中编码,应用程序池在.net 4"集成"中设置。

我们有多个客户网址访问我们的网络服务所在的另一个网域。 该应用程序使用javascript ajax调用来命中我们的后端asp页面。 例如:

https://DomainForCustomer/CustomersPage --> executes javascript ajax --> Classic ASP Code -->

Set xmlhttp = server.Createobject("MSXML2.XMLHTTP")
xmlhttp.Open "POST",postUrl,false
xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
xmlhttp.send DataToSend

where postURL = https://MainDomain/WebService/WebService.asmx/Method

我还应该提一下我为GET / POST请求配置了Web服务。

所以我们目前正在经历的是短请求工作正常,而且速度快。更长的请求(大约5-10分钟)永远不会返回浏览器。

当我在iis中的同一客户站点下设置相同的Web服务代码时,它运行正常。我将打印语句设置为Web服务上的文件,以查看我的流程何时完成,并且可以看到何时应将数据返回到浏览器,但网站似乎没有收到它。

任何人都可以对此有任何想法,或者能够指出任何可能有用的设置。 我确实研究过这些交叉起源的东西,但这似乎更多地与javascript有关,而不是asp(我还是告诉他们)。

最后,根据我们当前的架构,我们的Web服务器正在通过负载平衡器进行ssl off loading,所以我不确定这是否与它有任何关系。

1 个答案:

答案 0 :(得分:2)

因此经过更多测试后,确定我们的ssl卸载配置不正确。在我们的系统中更改后,这个更长时间运行的过程开始工作得更好。

此外,我在浏览器的回复中返回了160k +字符,因此我们添加到IIS配置中:

<requestLimits maxAllowedContentLength="100000000" />

我知道这对我们的配置更为特别,但我希望将来可以帮助其他人。