【问题标题】:User + session handling with ASP.NET and mySQL solution使用 ASP.NET 和 mySQL 解决方案的用户 + 会话处理
【发布时间】:2010-07-30 05:09:04
【问题描述】:

我一直在网上阅读有关跟踪用户的不同替代方案,但我似乎找不到适合我情况的“完美”解决方案。

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

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

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

【问题讨论】:

    标签: asp.net mysql session


    【解决方案1】:

    MySQL

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

    会话

    在处理会话状态方面,您的上述假设是正确的。您可以实施粘性会话以确保将访问者路由到同一 Web 服务器。不过,这可能是之前的优化。当您遇到这些挑战时,请直面这些挑战。

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

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

    【讨论】:

    • 很好的答案。上帝我爱这个地方。谢谢!
    猜你喜欢
    • 2010-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 2010-10-08
    • 2017-01-15
    • 1970-01-01
    • 2011-08-30
    相关资源
    最近更新 更多