2010-07-29 76 views
1

我一直在网上阅读有关跟踪用户的不同选择,但我似乎无法找到我的情况的“完美”解决方案。用户+会话处理与ASP.NET和MySQL解决方案

该应用程序将(希望)是高容量,所以我想设计与可扩展性的思想。可能有必要使用多个Web服务器托管该站点,因此会话模式InProc将无法正常工作,对吧?它保存在当前网络服务器的内存中,并且由于用户可能从网络服务器跳转到网络服务器,所以我不能确定该会话将保持连接到用户。

我是否需要创建一个自定义成员资格和角色提供程序与mySQL一起使用,以便能够使用.NET标准用户处理系统(如可以处理会话内容的FormsAuthentication)

最佳实践非常受欢迎,以及类似场景的实证经验。 (当然欢迎任何的反馈真的:))

回答

1

MySQL的

Marvin Palmer has an article on Implementing .NET Membership and Roles using MySql

会议

在处理会话状态而言,你在上面你的假设是正确的。您可以实施粘滞会话以确保访问者路由到同一个Web服务器。尽管如此,这可能是其优化之前的一次优化。面对这些挑战,当你到达他们。

您可以通过确保将所有Session["foo"]调用现在抽象为静态类来帮助自己。如果您还没有,请创建一个静态类,其工作仅用于处理设置/获取会话值。为每个密钥创建一个属性,并以MySessionMgr.CustomerID;的形式从应用程序访问它们。当/如果您的会话持久性机制发生变化,您只需在该类中更改它。

未来,您可能会考虑使用微软的多服务器共享会话技术Windows Server AppFabric(以前的代号为Velocity)。

+0

很好的答案。上帝我爱这个地方。谢谢! – Phil 2010-07-29 21:31:03