導致ASP.NET站點自動重啓的原因

 

ASP.NET站點有時候會莫名其妙的重啓,什麼原因導致的卻不得而知,經過一番折騰後,我總結了導致ASP.NET站點重啓的10個原因

1. 回收應用程序池會導致站點重啓,記錄的原因是:

HostingEnvironment initiated shutdown HostingEnvironment caused shutdown

2. 修改應用程序池回收規則會導致重啓,記錄的重啓原因:

HostingEnvironment initiated shutdown HostingEnvironment caused shutdown

3. 在IIS中修改站點的名字,不會導致重啓

4. 修改站點根目錄的配置文件web.config,在配置文件註釋中添加幾個空格會導致重啓,記錄的重啓原因是:

CONFIG change HostingEnvironment initiated shutdown

但是修改子目錄的web.config文件不一定會導致馬上重啓

5. 修改aspx,master文件不一定會導致重啓;但是每修改一次都會導致一次重新編譯,重新編譯次數達到15次之後會導致站點重啓,重啓原因是:

Recompilation limit of 15 reached HostingEnvironment initiated shutdown

15次後重啓這個數字可以在web.config中做配置,修改compilation的numRecompilesBeforeAppRestart屬性值即可。

<compilation debug="false" numRecompilesBeforeAppRestart="15">

6. 刪除bin目錄下的pdb文件,會導致重啓,記錄的重啓原因是:

Change Notification for critical directories.

在bin目錄下新建一個空的文件夾,會導致站點重啓,重啓原因是:

Directory rename change notification for 'D:projectsTestWebAppTestWeb'.T estWeb dir change or directory rename

在bin目錄下刪除空文件夾,會導致站點重啓,記錄原因是:

Directory rename change notification for 'D:projectsTestWebAppTestWeb'.T estWeb dir change or directory rename

7. 修改Global.asax文件會導致站點重啓,即使加幾個空格也會重啓,記錄的重啓原因是:

Change in GLOBAL.ASAX HostingEnvironment initiated shutdown

8. 對App_Code目錄做修改會導致站點重啓

在站點根目錄下添加一個名字爲App_Code的文件夾,會導致重啓,記錄的重啓原因是:

Change Notification for critical directories. App_Code dir change or directory rename

刪除App_Code文件夾會導致站點重啓,記錄的重啓原因是:

File Change Notification Error in D:projectsTestWebAppTestWebapp_code

Change Notification for critical directories.

App_Code dir change or directory rename

在App_Code文件夾下面新建或者刪除一個cs文件,會導致站點重啓,記錄的原因是:

Change Notification for critical directories. App_Code dir change or directory rename

9. 對關鍵路徑的修改都會導致站點重啓,關鍵路徑包括:

bin, App_Code, Web References,App_Browsers,App_GlobalResources,App_LocalResources

10. 另外殺毒軟件對文件的掃描,有可能會導致ASP.NET進程誤認爲文件或者關鍵路徑發生了變化,也會導致重啓。

以上是我總結的導致ASP.NET站點重啓的10個原因。 總的來說有三個方面會導致站點重啓:一方面是IIS配置發生變化;另一方面是ASP.NET相關文件配置文件,global文件,aspx,ascx,master等類型的文件發生變法;第三個方面是關鍵路徑bin,app_Code, Web References,App_Browsers,App_GlobalResources,App_LocalResources發生變化。

如何記錄ASP.NET站點重啓的原因呢?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章