【问题标题】:Working with temporary session data with Asp.Net MVC使用 Asp.Net MVC 处理临时会话数据
【发布时间】:2018-12-16 00:33:45
【问题描述】:

我已经阅读了 asp.net 应用程序的默认会话存储是内存。

我从 php 来到 Asp.Net,但我对 .Net 如何处理会话没有太多经验。例如php在每次请求结束时都会终止进程,它的默认机制是将会话数据存储在磁盘上的系统文件中。

问题是如果我几乎每天都需要在生产服务器上更新我的应用程序并重新启动进程,是否存在问题 (在 Nginx 后面与 Kestrel 一起运行)。这是否意味着所有用户都会在发生这种情况时注销?

如果是这样,使用 PostgreSQL 数据库存储会话数据(使用实体框架)有多难?还是别无选择,只能将 Redis 存储添加到我的应用程序?

【问题讨论】:

    标签: c# asp.net-mvc postgresql session redis


    【解决方案1】:

    1) ASP.NET 有几种会话状态模式。 请在此处阅读他们的详细说明: Session-State Modes

    2) 如果您使用默认进程内模式,重新启动服务器或修改 web 配置文件将删除现有会话

    3) 要在 PostgreSQL 中存储会话状态,您必须找到或实现自定义会话状态提供程序

    existing open source implementation 可以通过nuget安装。

    您也可以考虑有关Implementing a Session-State Store Provider的说明

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-29
      • 1970-01-01
      • 2018-04-19
      • 1970-01-01
      相关资源
      最近更新 更多