2012-03-28 64 views
0

如何IIS处理使用相同的会话ID当Web服务依赖于会话的web服务的多个并发的请求被阻止?ASMX Web服务通过会话

如果第一个Web服务调用尚未完成处理,确实IIS临时队列中的第二Web服务调用,直到第一个Web服务调用完成(因为它们都依赖于相同的会话数据)。

或根本IIS允许两个请求前进,并通过第一次请求会话存储所做的任何更改将立即影响甚至认为可能会导致意想不到的结果过程中的第二个Web服务调用。

我相信这是直到第一个因完成会话读者\作家锁,但我一直无法找到一个明确的答案排队的第二个呼叫使用第一个选项。

注:在这种情况下,从客户端浏览器异步生成的Web服务请求。

回答

1

是的,就像任何一个使用会话状态一样,会话状态模块将不再进一步下降管道阻塞请求(即执行你的ASMX Web方法),直到它可以AQUIRE锁的会话。会话状态是并发的敌人,不惜一切代价避免它。

+0

另请参阅只读会话访问:http://stackoverflow.com/questions/10742211/ajax-accessible-long-running-service-tasks-blocking-sub-sequent-ajax-service-req/10743838#10743838 – quetzalcoatl 2013-02-14 12:00:31