我的 MVC 应用程序在 Windows 身份验证下运行。
我在我的应用程序的各个地方都使用了 TempData。问题是,他们很清楚会话超时。但是,Windows 登录仍在运行。在用户注销他的 Windows 登录之前,我如何将它们设置为保持不变。我的意思是,不应该有任何超时。是否可以?
我的 MVC 应用程序在 Windows 身份验证下运行。
我在我的应用程序的各个地方都使用了 TempData。问题是,他们很清楚会话超时。但是,Windows 登录仍在运行。在用户注销他的 Windows 登录之前,我如何将它们设置为保持不变。我的意思是,不应该有任何超时。是否可以?
您可以在 Web 配置中更改会话超时值:
<sessionState mode="InProc" timeout="20"/>
只需将分钟超时值从 20 分钟更改为更高的值
例如 2 天:
<sessionState mode="InProc" timeout="2880"/>
据我了解,TempData 只会在下一个动作之前保持它的价值,这就是为什么它被称为“Temp”Data。并且会话将只能维护当前用户会话的数据。
如果您不想超时(这对我来说听起来很奇怪,而且我可以闻到糟糕的代码实践),然后使用缓存或将数据持久化到数据库。您可以根据需要保留数据。