如何在不停止站点的情况下更新ASP.Net站点dll

mue*_*l98 5 asp.net deployment iis publish

是否可以在不停止IIS的情况下更新预编译站点的站点dll.

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

bal*_*dre 9

即使你没有停止,对web.config文件,BIN文件夹,App_Data或App_Code的任何更改都将强制.NET编译器执行...

你将松开内存中的任何Session变量.

我所做的是在SQL模式下使用会话状态,如果您的系统设置如此,用户将保留在站点中(在更长时间的页面重新加载之后)

.NET仍然会调用编译器来编译新的指令集,但很快就会完成,所有会话都将从SQL Server中读取,因为它们仍在那里(并且不会因内存刷新而丢失)用户将保留在具有当前凭据的网站.

它比内存中的会话状态慢一点,但更可靠,特别是与共享主机:)这是增加/减少会话中的分钟的方法,因为共享主机不允许它改变,即使你做

Session.Timeout = 5;
Run Code Online (Sandbox Code Playgroud)

他们的机器配置将覆盖您所做的一切,使用SQL会话状态,您将能够设置您的时间,因为这完全由SQL Server完成.

免费阅读本文,了解一切如何完成.

希望能帮助到你.