【发布时间】:2010-12-23 08:32:05
【问题描述】:
我正在 ASP.Net 中实现自定义 会话存储提供程序。我们有严格的三层架构,因此会话存储需要通过业务层。演示->业务->数据库。业务层通过 WPF 访问。数据库是 MSSQL。
我需要的是(按优先顺序):
- 解决此问题的商业/免费/开源产品。
- 我可以修改为使用中间层的 SqlSessionStateStore(自定义会话存储)(不是 MSDN 上的 ODBC 示例)的源代码。
我试过通过Reflector查看.Net源码,但是代码不可用。
注意:我了解如何执行此操作。我正在寻找工作样品,最好是已被证明在重负载下工作正常的样品。 MSDN 上的 ODBC 示例不使用 SqlSessionStateStore 中的构建使用的(新的?)存储过程 - 如果可能,我想使用这些(减少流量)。
Edit1:回答西蒙斯关于更多信息的问题: ASP.Net Session()-object 可以存储在 InProc、ASP.Net State Service 或 SQL-server 中。在安全的 3 层模型中,表示层(Web 服务器)没有对数据库层(SQL 服务器)的直接/物理访问。即使没有物理限制,从架构的角度来看,您也可能不想要这个。 InProc 和 ASP.Net 状态服务不支持负载平衡,也没有容错能力。因此唯一的选择就是通过webservice中间层(业务层)访问SQL。
【问题讨论】:
-
您能解释一下为什么 ASP.NET 标准不符合您的需要,以便我们回答吗?例如,Presentation 层和 ASP.NET 会话存储之间的关系是什么?