asp.net - 限制IIS7中的asp.net session

标签 asp.net session iis-7

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

我意识到可以在asp.net代码中完成此操作,但是监视 session 的开始和结束并不理想。 IIS是否有扩展名可能会限制 session ,或者是可以使用任何Perfmon计数器的灵活扩展名?

非常感谢。

最佳答案

无法通过配置任何 session 状态配置设置来立即执行此操作。

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

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

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

在 session 状态提供者级别限制 session 可能不是解决此问题的最佳方法。您将遇到的问题是,当您的站点出现了可用 session 数已满的情况,但访问者却减少了。由于存在 session 状态超时,因此将有未使用的 session 状态实例,并且在这些 session 超时之前,您不能再接受任何访客。如果您将超时设置为默认值(20分钟),并且有20或30个用户“离开”,那么您将需要20分钟才能接受新的 session 。

关于asp.net - 限制IIS7中的asp.net session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6069780/

相关文章:

asp.net - 正则表达式来验证 url

c# - 如何连接到写在 web 服务的 web.config 中的连接字符串

java - Spring 应用程序中的 Okta 自动注销

asp.net - IIS 7.0/Windows Server 2008 - 在 ASP.NET 应用程序中找不到 DLL

asp.net-mvc - 无法从 asp mvc 项目中的 iis 上的 Content 文件夹加载图像

asp.net - System.Web.UI.DataVisualization.Charting.Grid 在 GAC 中存在两次

asp.net - Exchange Web 服务、带有 Windows 身份验证的 ASP.NET、IIS 8.5 和模拟

session - session 和cookie之间的关系

azure - 在 Service Fabric 集群上发布应用程序后 HttpContext.Session 为空

iis-7 - Windows 身份验证不适用于经典 ASP 页面(但适用于同一站点中的 ASP.Net 页面)