编辑(澄清我的问题):是否有一个 API 或方法可以让我们从我们自己的代码中使用 Out Of Process Asp.NET 状态服务,或者是专有的?
我们正在研究实现一个自定义会话状态模块,该模块重用 asp 附带的模块的组件。我们的主要目标是防止会话锁定(不将会话状态模式更改为只读)。这可能吗?
我们希望实现的关键部分之一是能够使用 .NET 内部使用的相同 Out of Proc 会话存储提供程序(ASP 状态服务),因为我们有一个负载平衡的环境t 使用粘性会话。
我已经深入研究了参考源中的代码,我的发现如下。我希望有人有一个不同的实用程序,可以潜在地用于将自定义会话状态模块集成到 ASP 状态服务中。
默认会话模块是System.Web.SessionState.SessionStateModule
. 这是一Sealed
堂课。此类似乎是唯一使用SessionStateMode.StateServer
枚举值(在 web 配置中指定)的类。
当设置此标志时,模块将_store
变量设置为一个新System.Web.SessionState.OutOfProcSessionStateStore
的Friend Sealed
类。
我最初对如何做到这一点有一些想法,但由于上面类的修饰符,我无法做到这些。还有其他可以采取的方法吗?
- 实例化一个新的
System.Web.SessionState.SessionStateModule
并引用该_store
变量。这不起作用,显然是因为_store
变量是私有的。 - 我尝试创建一个继承自的类,
System.Web.SessionState.SessionStateModule
但显然因为它sealed
不起作用。 - 看着从 .NET 框架代码中复制代码。意识到这将是一个非常糟糕的决定。
我有什么选择吗?