Sta*_*Man 7 c# iis iis-7 windows-server-2008
我们收到一个问题,即每次我们将dll复制到bin目录时,我们在网站上的主域都会停止运行,恢复它的唯一方法就是重新启动"WWW Publishing Service".
我们运行一个网站,其中包含许多运行在单个服务器上的IIS应用程序,其中每个应用程序都配置为运行不同的应用程序池.
我们有一个庞大的代码库,在整个网站上包含超过280个aspx页面.我们的主域包含大约100个aspx页面,而子域包含15或20个.
当我们进行构建时,我们正在生成一堆dll,我们手动将其复制到生产服务器bin目录中.一旦我们这样做,IIS显然会启动回收编译每个aspx页面和代码隐藏的回收.此时,该站点基本上停止了(有时需要重新启动 - 通过重新启动Web发布服务 - 再次唤醒它).
奇怪的是,这只发生在我们部署到主域IIS应用程序时,即www.如果我们以相同的方式将bin文件部署到子域,它几乎可以立即工作.
即使我执行iisreset.exe,这似乎也无法解决问题.
几个问题:
一些规格:
任何援助将不胜感激.提前致谢.
Wes*_*org 13
当您将app_offline.htm文件放在主域的wwwroot中时,IIS站点将脱机.这是Scott Gu描述的IIS的默认行为.执行此操作时,可以安全地覆盖所有dll.当您删除app_offline.htm文件时,您的应用程序将在下次请求时启动.
基本上,如果将具有此名称的文件放在Web应用程序目录的根目录中,ASP.NET 2.0将关闭应用程序,从服务器卸载应用程序域,并停止处理该应用程序的任何新传入请求.然后,ASP.NET还将通过发回app_offline.htm文件的内容来响应应用程序中对动态页面的所有请求(例如:您可能希望有"正在构建的站点"或"关闭以进行维护"消息) .
这提供了一种方便的方法来在您进行大量更改或复制大量新页面功能时关闭应用程序(并且您希望避免在内容更新过程中人们遇到并激活您的站点的恼人问题).它也可以是立即解锁和卸载其.mdf或.mdb数据文件驻留在/ app_data目录中的SQL Express或Access数据库的有用方法.
删除app_offline.htm文件后,下一个进入应用程序的请求将导致ASP.NET再次加载应用程序和app-domain,并且生活将继续正常进行.
| 归档时间: |
|
| 查看次数: |
18622 次 |
| 最近记录: |