ASP.net会话状态服务信息

时间:2008-12-08 13:07:41

标签: asp.net service state

在哪里可以获得有关ASP.NET State Service的信息,例如它是如何工作的,性能,行为特征等 看过互联网,但无法找到深度信息或专门讨论该主题的文章。 感谢

3 个答案:

答案 0 :(得分:11)

对你来说可能有用也可能没用..

简而言之,它的工作原理如下:

InProc会话状态是最快的,但它也在进行中,这意味着它不会被共享(读作“对网络农场没有好处”),并且如果进程崩溃就会丢失。

状态服务(aspnet_state.exe)仍然非常快,但由于工作进程和服务本身之间的编组而存在一些开销。可以很好,因为IP地址可以在配置中传递,这意味着它可以在自己的机器上运行。它也是工作进程的进程外进程,这意味着它可以在进程崩溃中幸存下来。由于它可以在一台机器上运行,因此只要所有客户端都使用同一台机器,就可以共享状态。

Sql Server (或其他自定义提供程序) - 趋向于(并非总是)最慢的一切,特别是由于可能存在更多磁盘I / O的情况。然而,这也是更强大的解决方案之一,因为状态可以持久化到磁盘,这意味着它不仅可以在Web服务器上的进程崩溃中存活,而且它可以在服务器崩溃时自行生存(一旦数据库重新联机,国家恢复)。与聚类相结合,这可以提供坚如磐石的会话系统。

答案 1 :(得分:1)

以编程方式,会话状态只不过是字典或散列表形式的内存,例如键值对,可以在用户会话期间设置和读取。

查看以下链接以获取更多详细信息:

http://msdn.microsoft.com/en-us/library/ms972429.aspx

http://msdn.microsoft.com/en-us/library/ms178581(VS.80).aspx

答案 2 :(得分:0)

考虑阅读一本书:“C#2008中的Pro ASP.NET 3.5”或“VB.net 2008中的Pro ASP.NET 3.5”。