我需要一些帮助来解决有关.NET Web服务的问题。我有一个使用我的主要Web服务的桌面应用程序。其中一种方法获取一些报告数据,但为了做到这一点,Web服务(A)调用Web服务(B)中的方法。根据我传递给“A”方法的参数,它可以工作也可以失败。如果我传入过滤器,数据集非常小,当我没有传入过滤器时,显然数据集非常大。此外,如果我在调试模式下运行Web服务“A”并将我的桌面应用程序指向本地版本(同时B在我们的生产服务器上),那么它是否可以过滤数据。我得到的错误是生产中的502 Bad Gateway,而502-Web服务器在充当网关或代理服务器时收到无效响应。
我们有一个带有一些ARR的网络农场,所以我进入了网络农场的ARR,找到了“代理”设置并将超时调整为1200秒(而我的应用通常会在20-30秒内失败)而且我是仍然收到此错误。 HTTP版本处于“通过”模式,并选中“保持活动状态”复选框。
使用支持Web服务的Windows服务或类似的东西,只要一个Web服务使用其他Web服务,我们就没有问题。
加成, 我没有在我的Web服务方法中使用任何会话,我相信我在Web服务“B”中调用的web方法确实将缓存值设置为5分钟。
由于我对IIS 7以及许多其他方面缺乏了解,我对此感到头疼。如果有人有任何想法或者能指出我正确的方向,我当然会很感激。
答案 0 :(得分:3)
我以为我会来这里回答这个问题以防其他人遇到同样的问题。此问题与服务器无关。这与代码有关。在我的代码中,我有一个数据表(c#),并且正在做一个datatable.select(....),我将传入一个带有许多“OR”的过滤器。防爆。 Filter ='x'OR'y'OR'z'etc etc等我有大约100个,这导致datatable.select方法产生stackoverflow异常。我改变了代码来做一个“IN(x,y,z)”,它现在工作正常。希望这有助于某人。