ASP.NET MVC上的会话本地存储或服务器端会话?

时间:2018-01-14 18:46:27

标签: c# asp.net asp.net-mvc asp.net-mvc-4 session

我有不包含敏感数据的对象列表(即客户端小部件的简单设置5-6整数值和Guid,可能同时有多个小部件)。

目前,我正在使用ASP.NET MVC Session。它似乎并不可靠。对于存储在其中的某些键,它会不时地变为零。当我在调试时启动应用程序或网络运行缓慢时会发生这种情况。

我可以使用客户端会话存储来存储所有设置吗? (即sessionStorage或localStorage)。

我担心IIS重新循环会导致会话被删除 或任何服务器端例外。

修改

public ActionResult ApplySettingsForDashboard(DashboardCommonSettings settings)
{
  Session[string.Concat("SettingsToApply_",settingsToApply.PanelGuid)]=settings;
}

public DashboardCommonSettings GetSettingsFromSession(string PanelGuid)
{
    var settings = Session[string.Concat("SettingsToApply_",PanelGuid)]
}

欢迎提出意见和建议。 感谢

1 个答案:

答案 0 :(得分:0)

在评论的基础上,我想以某种方式回答:尽可能使用Out-Proc会话存储(持久存储)来实现可靠的会话存储。它会很慢,所以需要谨慎使用。 In-Proc会话存储在生产环境中非常不可靠。当我们没有敏感数据时,localStorage(客户端)可以作为一个选项。

也欢迎其他答案。