【问题标题】:Concurrent Connections from Browser To IIS从浏览器到 IIS 的并发连接
【发布时间】:2012-07-11 09:58:04
【问题描述】:

我正在运行一个 ASP.NET/JQuery 和 IIS 7.0 的网站。我创建了一个带有 10 个工作线程和一个进程外(Sql Server)来处理会话的网络花园。我听说很多人建议 Web Gardens 只解决某些问题,即 CPU 瓶颈和其他并发问题。

该网站具有动态选项卡,因此尝试允许用户执行多项任务。

Web Gardens 是否允许来自一个浏览器的多个连接(单个用户)? 也就是说,如果我打开两个选项卡并发出一组工作(使用服务器端)代码,两个请求会被提交还是只有一个阻塞连接,直到第一个请求完成。

当然,在现实生活中,我看到的是“阻塞”,据我了解,Web Garden 太支持并发连接。

谢谢

【问题讨论】:

  • 不,HTTP 协议限制每个主机 2 个连接。
  • 这就是我发现的——当我打开“网络花园”或添加多个工作线程时,我就这样做了,我从客户端收到并发 HTTP 请求。根据 RFC 是否限制为 2,我不知道;因为大多数浏览器都更改了该属性。话虽这么说,当我从“进行中”移动到“SQL 会话管理”时,这会破坏它。我已关闭 HTTP-Keep Alives,但仍限制一次请求。

标签: asp.net iis


【解决方案1】:

ASP.NET 会话是您在这里争论的焦点 - 对于进程内会话,两个浏览器选项卡有单独的会话(这可能是一件坏事),但对于进程外会话,他们试图访问同一个。

来自标题为“并发请求和会话状态”部分的this MSDN page

如果对同一个会话发出两个并发请求(通过使用相同的 SessionID 值),则第一个请求获得对会话信息的独占访问权。第二个请求只有在第一个请求完成后才会执行

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-18
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    相关资源
    最近更新 更多