asp.net - 使用 ASP.NET 和 mySQL 解决方案的用户 + session 处理

标签 asp.net mysql session

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

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

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

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

最佳答案

MySQL

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

session

就处理 session 状态而言,您的上述假设是正确的。您可以实现粘性 session 以确保将访问者路由到同一 Web 服务器。不过,这可能是一个过时的优化。当你遇到这些挑战时,就去面对它们。

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

以后你可能会考虑Windows Server AppFabric (以前代号为 Velocity),Microsoft 的多服务器共享 session 技术。

关于asp.net - 使用 ASP.NET 和 mySQL 解决方案的用户 + session 处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3366815/

相关文章:

ASP.NET Core EF LINQ - 我可以分解大型查询语句并仍然让它执行一次吗

php - Mysqli 显示一行中的表内容和未从数据库中检索到的列名

php - 为什么我的级联不工作? - 违反完整性约束

asp.net - 使用 Redis 作为 session 状态提供者

java - ActiveMQ createSession 超时

javascript - Angularjs/ASP.NET : How can I read a json returned from my controller and set it to a variable?

asp.net - 向转发器控件的每个元素添加一个 div 覆盖

php - yii2 session 错误

PHP 或 ASP,我应该坚持哪一个?

php - 获取phpmyadmin路径