当用户关闭正在等待长时间运行的Web服务调用的浏览器时会发生什么?

10
我有一个类似于这里的问题:http://social.msdn.microsoft.com/forums/en-US/biztalkgeneral/thread/87d5a6ec-04ee-4c6f-8267-f526ee105f0b 我有一个asp.net网页调用BizTalk web服务。 BizTalk编排完成其任务并将响应返回给asp.net页面。该过程可能需要一两分钟。我经常超时,但似乎BizTalk编排的平均响应时间在30秒内。
我想知道,如果用户提交请求然后立即关闭浏览器,会发生什么情况。 asp.net客户端是否停止等待BizTalk的请求(并导致超时),或者即使用户关闭了浏览器,它仍然会等待请求?

我自己其实也很想知道这个... - Rob
我也在想。我认为服务器可能无法知道,但或许我错了。 - Kenan Banks
我认为服务器运行调用,如果返回的客户端不再可用,则会丢弃数据。因此,当数据可用时,它基本上会遇到超时(从服务器内部)或丢弃数据。但我对此并不完全确定。 - Ólafur Waage
1个回答

6

ASP.NET请求继续执行,不知道最初提交GET/POST的浏览器已经不再等待。除了服务器超时等任何其他错误,请求将完成。


行为取决于浏览器和服务器是否都配置了keepalive。如果客户端断开套接字,服务器将关闭会话并中止执行。 - Peter Wone

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接