编辑(澄清我的问题):我们可以使用我们自己的代码使用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
变量设置为Friend Sealed
类的新System.Web.SessionState.OutOfProcSessionStateStore
。
我最初对如何做到这一点有一些想法,并且由于上面类的修饰符,我无法做到这些。还有其他方法可以采取吗?
System.Web.SessionState.SessionStateModule
并引用_store
变量。这不起作用,显然是因为_store
变量是私有的。System.Web.SessionState.SessionStateModule
的类,但很明显,因为sealed
不起作用。我有什么选择吗?
答案 0 :(得分:-2)
我建议你阅读这个主题: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