文件更改/上传后丢失会话

本文关键字:会话 文件 | 更新日期: 2023-09-27 18:34:34

我目前在会话方面遇到了一个奇怪的问题,我已经使用 MVC 工作了一段时间,但在以前的版本中从未遇到过这个问题。目前首次使用 MVC5 制作新系统,一切都很好。会话设置没有问题,但是,如果我在VS中修改cshtml文件,我的会话就会被杀死。

此外,我还有一个有效的文件上传功能,但是当您上传文件然后导航到另一个页面时,会话再次消失。这在本地工作,也可以在我们用于沙盒的 Windows Server 盒子上工作。

新版本的 MVC 在会话方面有什么变化吗?我以前从未有过这个。我已经将其设置为使用进程内会话,通常不需要更改任何内容,但是为了使用无cookie,使用cookie等作为选项,我使用了无cookie,使用了cookie等。似乎什么都不起作用。

如果有人有想法,那就太好了。

文件更改/上传后丢失会话

有趣的是,您之前没有观察到这一点 - 与往常一样,当您更新网站的内容时,IIS 可能会重新编译声明性资源,从而导致应用程序池重新启动,从而有效地删除存储在内存中的所有会话数据。

解决方案是切换到其他持久会话存储,sql 可能是最容易配置的。您只需要一个 sql 服务器,您可以在其中运行创建会话数据库的脚本:

http://support.microsoft.com/kb/317604

另一种选择是使用状态服务器:

http://msdn.microsoft.com/en-us/library/ms178586.aspx

状态服务器的性能通常优于 SQl 服务器,因为数据不会持久保存到磁盘上。但是,由于状态服务器是一个单独的进程,因此即使应用程序池重新启动,应用程序服务器也不会丢失会话。