2009-10-21 71 views
4

是否有可能在不停止IIS的情况下更新预编译站点的站点dll。如何在不停止站点的情况下更新ASP.Net站点dll

目前,如果我尝试复制新文件以覆盖当前文件,则所有用户在复制文件时都会收到运行时错误。有没有办法避免这种情况?

+0

您可以先将文件上传到单独的文件夹,然后远程复制过程只需要几分之一秒。 – NibblyPig 2010-05-24 16:25:04

回答

9

即使你不停止,任何改变web.config文件,Bin文件夹,程序App_Data或App_Code文件将强制.NET编译器执行...

,你会丢失任何会话变量记忆。

我要做的就是用会话状态SQL模式,如果你的系统设置这样,用户将留在现场

(长博览会在页面重新加载后)。 NET仍然会调用编译器来编译新的指令集,但很快就完成了,所有会话都将从SQL Server中读取,并且因为它们仍然存在(并且不会因内存刷新而丢失),用户仍将保留在网站中拥有当前的凭据。

它比内存中会话状态慢一点,但更可靠,特别是共享主机:)这是在会话中增加/减少会议纪要的方式,因为共享主机不允许它即使你

Session.Timeout = 5; 

他们的机器配置将覆盖你,与SQL会话状态的一切改变,你就可以设置你的时间,因为这是所有的SQL Server做。

随意阅读this article知道如何做一切。

希望它有帮助。

+0

您的链接现在无法使用。 – krlzlx 2016-07-04 08:17:45

+0

@krlzlx [阅读此答案](http://stackoverflow.com/a/1451942/28004),它会说同样的,并给你一切工作的好帖子 – balexandre 2016-07-04 10:16:22

+0

@balexandre如何使用ssd存储凭据在SQL服务器和其他数据存储的磁盘 – 2016-12-13 05:39:09

相关问题