现代.NET IIS Web体系结构的会话处理选项有哪些?
我知道IIS的本地会话支持在重新启动时会丢失会话。 此外,微软build议将会话存储在数据库中,这是我的首选解决scheme。
我正在尝试构build一个高度可用的.NET IIS平台,该平台为第三方应用程序水平扩展。 该应用程序是外部开发的,虽然我可以推动在数据库中存储,但是这不可能立即截止date。
第三方build议使用永久会话 ,这是我避免的。 粘滞会话会降低可用性,因为当Web服务器变得不可用时,会对先前使用它的客户端造成可访问性问题。 此外,它减less了负载平衡function,因为单个服务器可能比其他服务器接收到更多的请求。 IIS在重新启动时仍然会丢失会话,这是我想要消除的。 我也不想将会话存储在客户端的cookie中。
我希望启用完整的高可用性,同时仍然允许应用程序部署闲置服务器而不受影响。 此外,完全负载平衡。 我可以在这个技术平台上启用这个function而不用重写应用程序吗? 我有什么select?
ASP.net 2.0及以上版本支持在SQL Server中存储会话,只需更改web.config中的SessionState提供程序,然后使用aspnet_regsql.exe来设置SQL数据库即可。 您可以在MSDN – 会话状态提供程序页面阅读有关configuration会话状态提供程序的更多信息。
更新:在MSDN – 会话状态模式页面上也可以更轻松地阅读逐步说明。
我们在俄亥俄州的Linux Fest上讨论了.NET会话状态提供者的模块性问题,我提到有人可以为.NET会话状态创build一个分布式内存caching。 一位顾客今天早些时候问我这个问题,我发现这个产品似乎就是这么做的。