Iis 7 MVC-如何在用户登录期间存储变量

Iis 7 MVC-如何在用户登录期间存储变量,iis-7,asp.net-mvc-5,Iis 7,Asp.net Mvc 5,我有一个MVC项目。我想保存一个变量,只要用户登录就可以访问它,以获取或设置它 这是因为应用程序使用我输入的信息来获取数据。我现在需要添加管理函数,这样管理员可以看到更多,而不仅仅是他自己的结果,因此我需要更改此ID,这取决于他希望看到的结果 我尝试过使用会话,但我遇到的问题是,当用户关闭网站,稍后返回时,他仍然登录,但会话变量为null 我还尝试向基类添加属性。我可以设置它,但当我试图在另一个控制器中获取它时,该属性也为null 做这件事最好/最快/正确的方法是什么?如果可能的话,我宁愿不使用

我有一个MVC项目。我想保存一个变量,只要用户登录就可以访问它,以获取或设置它

这是因为应用程序使用我输入的信息来获取数据。我现在需要添加管理函数,这样管理员可以看到更多,而不仅仅是他自己的结果,因此我需要更改此ID,这取决于他希望看到的结果

我尝试过使用会话,但我遇到的问题是,当用户关闭网站,稍后返回时,他仍然登录,但会话变量为null

我还尝试向基类添加属性。我可以设置它,但当我试图在另一个控制器中获取它时,该属性也为null


做这件事最好/最快/正确的方法是什么?如果可能的话,我宁愿不使用数据库

您正在寻找的是一个“会话”。在登录时,您只需执行以下操作

Session["Key"] = "Value";
注销时,您可以清空字段

Session["Key"] = String.Empty;

您可以在此处阅读有关会话的更多信息:

是的,我已经尝试过了,但是当用户断开连接并稍后返回,但由于cookies而仍然“登录”时,会话是空的,但我只能在登录时填充它。有没有办法在用户关闭网站时强制其注销?是的,您必须在窗口关闭时向Web服务器发出信号。另一种方法是每10分钟通过AJAX向服务器发送一次信号,如果没有信号,则在15分钟后注销用户!