ASP.netC#复制新DLL到BIN目录需要重启IIS我们收到一个问题,每次复制一个dll到bin目录,我们在网站上的主域停止工作,恢复它的唯一方法是重新启动“WWW发布服务”。我们运行一个网站,其中许多IIS应用程序在单个服务器上运行,其中每个应用程序都配置为运行不同的应用程序池。我们有一个庞大的代码库,包括整个站点的280多个aspx页面。我们的主域包含大约100个aspx页面,子域包含15或20个。当我们进行构建时,我们生成了一堆dll,我们手动将其复制到生产服务器bin目录中。一旦我们这样做了,IIS显然会为每个aspx页面和code-behind发起回收以进行回收。至此,网站基本停止(有时需要重启——通过重启网络发布服务——来再次唤醒它)。奇怪的是,这只发生在我们部署到主域IIS应用程序时,即www.如果我们以同样的方式将bin文件部署到子域,它几乎可以立即运行。即使我执行了iisreset.exe,这似乎也无法解决问题。几个问题:有没有办法加快当前进程,这样我们就不必重新启动服务器了?是否会有任何明显的代码更改或更新导致服务需要重新启动(有时我们运行iisreset但似乎并没有起死回生)?一些规格:任何帮助将不胜感激。提前致谢。当您将app_offline.htm文件放在主域的wwwroot中时,IIS站点将脱机。这是ScottGu所描述的IIS的默认行为。当您这样做时,您可以安全地覆盖所有dll。当您删除app_offline.htm文件时,您的应用程序将在下次被请求时启动。在此处和此处阅读有关app_offline.htm的更多信息。基本上,如果将具有此名称的文件放在Web应用程序目录的根目录中,ASP.NET2.0将关闭应用程序,从服务器卸载应用程序域,并停止处理应用程序的任何新传入请求。然后ASP.NET还将通过发回app_offline.htm文件的内容来响应应用程序中对动态页面的所有请求(例如:您可能希望有一个“站点正在建设中”或“停机维护”消息).这提供了一种在您进行大量更改或复制大量新页面功能时关闭应用程序的便捷方法(并且您希望避免人们在内容更新期间遇到并激活您的站点的恼人问题)。它也是一种立即解锁和卸载其.mdf或.mdb数据文件驻留在/app_data目录中的SQLExpress或Access数据库的有用方法。删除app_offline.htm文件后,下一个进入应用程序的请求将导致ASP.NET再次加载应用程序和应用程序域,生活将照常进行。据我所知,将dll添加到bin文件夹时无需执行iisreset。dll应该从bin中自动加载。当您将全新的dll添加到全局程序集缓存时,您应该执行iisreset。在复制dll然后重新启动时,您可以在IIS中停止站点吗?因为它不会阻止托管在同一IIS中的其他网站。以上是C#学习教程:当新的DLL复制到BIN目录下时,ASP.netC#需要重启IIS共享的所有内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多加关注——本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
