限制IIS7中的asp.net会话

时间:2011-05-20 09:11:53

标签: asp.net session iis-7

有没有办法在IIS7中限制asp.net(进程内)会话的数量?我正在考虑现有的设置,允许这个经典的asp。基本上我们希望能够限制服务器上的并发会话数,并且一旦达到将其他流量重定向到“我们忙”类型页面。在以前的系统(经典asp)中,我们通过将503响应重定向到保留页面来完成此操作。

我意识到这可能是在asp.net代码中完成的,但是监控会话开始&结局并不理想。是否存在可以限制会话的IIS扩展,或者可以使用任何Perfmon计数器灵活的扩展?

非常感谢。

1 个答案:

答案 0 :(得分:1)

通过配置任何会话状态配置设置,无法开箱即用。

您可以编写自己的提供商来执行此操作:

  

Implementing a Session-State Store Provider
  Sample Session-State Store Provider

该示例使用SQL,但您可以修改以创建自己的内存存储。

限制会话状态提供程序级别的会话可能不是解决此问题的最佳方法。您将遇到的问题是,如果您的网站最大化了可用会话的数量,那么访问者数量就会减少。因为存在会话状态超时,所以会有未使用的会话状态实例,并且在这些会话超时之前,您不能再接受任何访问者。如果你的超时设置为默认值(20分钟),20或30个用户“消失”,那么你可以在接受新会话之前20分钟。