asp.net-在调试和重建解决方案时保持会话?

| 我正在编写一个asp.net Web应用程序。我写了一个登录页面,该页面对用户进行身份验证并将他们的
UserID
存储在
Session[\"UserID\"]
中。 Web应用程序中的每个页面都将检查有效的“ 1”。如果无效,则将用户重定向到登录屏幕。 这很有效,但是却减慢了我调试网站上每个页面的能力。每次更改
*.cs
文件时,都需要按F6来重建我的解决方案。这样做会破坏我的会话,这意味着我需要返回登录屏幕,键入我的用户名和密码,单击进入正在处理的页面,进行测试,对代码进行代码更改,然后重复执行。 有没有一种方法可以使每次重新构建解决方案时都保持活动状态,从而不必每次都去登录页面?     
已邀请:
不幸的是,我不知道您会找到解决此限制的任何方法。每次构建项目时,都将触发Web应用程序的重启。即使您要使用永久性存储来保留会话,也将丢失在浏览器中设置的会话Cookie。 您可以向您的应用添加“记住我”功能。您需要进行一些重新实现,以便将有关当前用户身份验证的信息保存在一个比ASP.NET会话状态不那么易变的数据存储中。另外,您会将信息的索引存储在比会话cookie更持久的cookie中。 这是我能想到的最好的,或者至少在没有对.NET安全提供程序进行重大扩展的情况下,这是我能想到的最好的。但是,要花点时间-我以前从未尝试解决这个特定问题,而且我几乎不认为自己是与ASP.NET会话相关的所有事情的专家。     
丢失会话的原因是,当您写入应用程序文件夹时,应用程序将重新启动。实际上,发布应用程序时会发生同样的事情,当前登录的每个用户都将丢失会话。 这是有意的,因为他们无法知道您在页面中使用的DLL是否仍然存在。因此,它们会自己监视文件夹,并在您写入它们时触发重新启动。 没有解决方法。实际上,它是一项功能,可以节省您的时间(大部分时间),想象一下跟踪内存损坏错误,因为指针在代码中四处移动!     

要回复问题请先登录注册