重新启动IIS网站,我正在寻找一种方法来从一个MVC控制器重新开始(从管理页面) 当前运行的网站,用C#.NET从MVC控制器
为什么我需要它? 我有一个网站的错误,但它只发生在网站运行一个随机的时间,这使得它真的很难找到, 同时我仍然需要一个远程的方式来从我的手机快速重新启动,如果需要的网站。
重新启动IIS网站,我正在寻找一种方法来从一个MVC控制器重新开始(从管理页面) 当前运行的网站,用C#.NET从MVC控制器
为什么我需要它? 我有一个网站的错误,但它只发生在网站运行一个随机的时间,这使得它真的很难找到, 同时我仍然需要一个远程的方式来从我的手机快速重新启动,如果需要的网站。
ASP.NET应用程序可能会重新启动,因为真正有很多原因。它可能比你想象的更频繁地发生。 ASP.NET web应用程序 将因以下原因重新启动:
- Web.Config文件中的更改。更改任何参数,添加空格字符,甚至更改文件的修改日期都将导致重新启动应用程序。
- 更改machine.config,就像web.config一样。
- 更改/ bin文件夹。如果您添加,更新或删除/ bin文件夹中的任何文件,应用程序将重新启动。
- 更改App_Code文件夹。在App_Code中添加,删除或编辑类将导致应用程序重新启动。
- 更改Global.asax文件,就像在web.config中一样。
- 变化App_LocalResources文件夹
- 变化App_GlobalResources文件夹
- 变化App_WebReferences夹
- 变化资料配置
- 达成汇编限制,在machine.config文件与numRecompilesBeforeAppRestart定义。默认值是15. ASP.NET监视文件中的任何更改。当某些数字(默认为15)被更改时,Web应用程序会自动重新启动 。这是为了节省服务器上的内存。在 动态生成文件的一些网站,这可能会导致 频繁重新启动。
- 防病毒软件更改文件的修改日期。防病毒程序扫描文件,如Web.config或Global.asax。某些防病毒程序 更改这些文件的修改日期,并导致频繁重新启动 ,这会降低网站性能。
- IIS重新启动,所有网站也将重新启动。
- 更改物理路径到网络应用程序
- 由于不活动而导致IIS回收的网站(默认20分钟)。如果网站没有访问者,IIS将从内存中卸载它以节省 资源。当下一位访问者 到来时,申请将再次开始。
这是我通常会重新启动应用程序。
从代码中调用UnloadAppDomain
,尽管需要完全信任权限才能这样做。
System.Web.HttpRuntime.UnloadAppDomain()
刻意改变gloabl.asax或web.config文件的修改日期属性
File.SetLastWriteTimeUtc(MapPath("~/global.asax"), DateTime.UtcNow);
File.SetLastWriteTimeUtc(MapPath("~/web.config"), DateTime.UtcNow);
你一定要明白,如果它是在相同的应用程序托管了这会重新启动一切,包括管理页面? –
你尝试过什么吗? – yaakov
是的,但我需要一些东西 – CMS