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

如何在不停止站点的情况下更新ASP.Net站点dll,asp.net,iis,deployment,publish,Asp.net,Iis,Deployment,Publish,是否可以在不停止IIS的情况下更新预编译站点的站点dll 当前,如果我尝试仅复制新文件以覆盖当前文件,则所有用户在复制文件时都会收到运行时错误。有没有办法避免这种情况?即使您不停止,对web.config文件、BIN文件夹、App\u数据或App\u代码的任何更改都将强制.NET编译器执行 您将丢失内存中的所有会话变量 我要做的是在SQL模式下使用会话状态,如果您的系统是这样设置的,用户将留在站点中(在较长时间的页面重新加载后) .NET仍将调用编译器以编译新的指令集,但很快编译完成后,所有会话

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


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

即使您不停止,对web.config文件、BIN文件夹、App\u数据或App\u代码的任何更改都将强制.NET编译器执行

您将丢失内存中的所有会话变量

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

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

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

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

自由地阅读,了解一切是如何完成的


希望有帮助。

您可以先将文件上载到一个单独的文件夹中,然后远程复制过程只需几分之一秒。@krlzlx,它也会这样说,并为您提供有关所有内容的好文章works@balexandre使用ssd在sql server上存储凭据怎么样,和其他数据的磁盘storage@balexandre您有IIS上托管的API的解决方案吗?你能添加一些关于API的内容吗?@balexandre“本文”链接已断开。