了解.Net 用于存储 SQL Server 会话状态的过程
背景
我们有一个大型的asp.net应用程序,并使用大量会话,如数据集、数据表等。我们希望支持该应用程序的网络场,因此我们希望将会话状态保存在sql server中。我成功地将所有必需的数据存储到 SQL 服务器中,并且所有数据也都正常。我们支持的数据库是SQL Server 2005-Sql Server 2008。我们必须在会话中存储数据表和数据集,即使我们知道这会有点昂贵。
我的问题是我想了解 ASP.Net 在 sql server 中存储会话数据的过程。任何文章等都会有帮助
Background
We have a large asp.net application and uses a lot of sessions like datasets, datatables etc. We want to support web farms for this application, so we want to save the session state in sql server. I am successfully storing all the required data into the sql sever and getting all the data fine as well. Our supported database is SQL Server 2005-Sql Server 2008. We have to store datatables and datasets in sessions, even we know it is going to be bit expensive.
My question is I want to understand the process used by ASP.Net to store the Session data in sql server. Any article etc. will help
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我可以想到两个很好的资源来理解 SQL Server 会话状态。
一是通过阅读实现会话状态存储来了解会话状态提供程序必须执行的操作提供者。
另一个是研究用于创建会话存储的DDL。您将在计算机上的目录 C:\Windows\Microsoft.NET\Framework\v4.0.30319 或类似目录中找到名为 InstallSqlState.sql 的文件。
您会发现诸如
CREATE PROCEDURE dbo.DeleteExpiredSessions
之类的DDL,它准确地向您展示了幕后发生的情况。然后,您可以通过实现您自己的自定义提供程序来测试您的知识,该提供程序持续到 XML 或 MySQL 或 Hadoop 或 Memcached 或您想要的任何内容。
I can think of two good resources for understanding SQL Server session state.
One is to understand what a session state provider must do by reading Implementing a Session-State Store Provider.
The other is to study the DDL used to create the session store. You will find a file named InstallSqlState.sql in the directory C:\Windows\Microsoft.NET\Framework\v4.0.30319 or similar on your machine.
You'll find DDL such as
CREATE PROCEDURE dbo.DeleteExpiredSessions
which shows you exactly what is going on behind the scenes.You can then test your knowledge by implementing your own custom provider that persists to XML or MySQL or Hadoop or Memcached or whatever you want.