6

您在哪里可以获得有关 ASP.NET 状态服务的信息,例如它的工作原理、性能、行为特征等。在 Internet 上查看过,但无法找到深入的信息或专门针对该主题的文章。谢谢

4

3 回答 3

12

哪个可能对你有用,也可能没用..

简而言之,它是这样工作的:

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

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

Sql Server(或其他自定义提供程序) - 往往(并非总是)是所有这些中最慢的,尤其是由于可能有更多的磁盘 I/O。然而,这也是更强大的解决方案之一,因为状态可以持久化到磁盘,这意味着它不仅可以在 Web 服务器上的进程崩溃中幸存下来,而且它可以在服务器崩溃本身中幸存下来(一旦数据库重新上线,状态恢复)。再加上集群,这可以提供一个坚如磐石的会话系统。

于 2008-12-08T13:57:28.703 回答
2

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

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

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

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

于 2008-12-08T13:14:38.663 回答
0

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

于 2008-12-08T13:40:49.937 回答