asp.net – 自定义会话状态模块 – 使用ASP状态服务

编辑(澄清我的问题):我们可以使用我们自己的代码使用Out Of Process Asp.NET状态服务的API或方法,还是专有的?

我们正在研究实现一个custom session state module,它重新使用了asp库存模块的组件.我们的主要目标是阻止会话锁定(不将会话状态模式更改为ReadOnly).这可能吗?

我们希望使用的关键部分之一是能够使用.NET内部使用的相同的Out of Proc会话存储提供程序(ASP状态服务),因为我们有一个负载均衡的环境,它不会使用粘性会话.

我已经在the reference source中挖掘了代码,我的发现如下.我希望有人有一个不同的实用程序,可能会用于集成ASP状态服务的自定义会话状态模块.

认会话模块是System.Web.SessionState.SessionStateModule.这是一个Sealed类.此类似乎是唯一使用SessionStateMode.StateServer enum值的类(在Web配置中指定).

设置此标志后,模块会将_store变量设置为新的System.Web.SessionState.OutOfProcSessionStateStore,这是一个Friend Sealed类.

我最初对如何做到这一点有一些想法,并且由于上面类的修饰符,我无法做到这些.还有其他方法可以采取吗?

>实例化一个新的System.Web.SessionState.SessionStateModule并引用_store变量.这不起作用,显然是因为_store变量是私有的.
>我尝试创建一个继承自System.Web.SessionState.SessionStateModule的类,但很明显,因为它是密封的,不起作用.
>看着从.NET框架代码中复制代码.意识到这将是一个非常糟糕的决定.

我有什么选择吗?

解决方法

我建议你阅读这个主题I just discovered why all ASP.Net websites are slow,and I am trying to work out what to do about it.

它提供了会话主题的一些起点和信息,尤其是锁定问题.

如果您寻找会话模块的自定义实现,您可以在这里查看:
http://www.codeproject.com/Articles/11712/Custom-session-state-management-in-ASP-NET

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....