1. 程式人生 > >Temporary ASP.NET Files oot文件不斷增長,如何處理?

Temporary ASP.NET Files oot文件不斷增長,如何處理?

rec lse 也不會 code 新的 title editor light syn

很久沒有寫博了。最近半年除了忙活布置新家和過年期間走親訪友之外,都是在公司處理一些項目中的雜事;連家裏買的很多書都停下來沒看了,感覺這段時間在事業和學習上一直都是忙忙碌碌,卻又碌碌無為。

吐槽完,說正事:

asp.net網站在服務器端運行時,會在C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\目錄中生成編譯文件,像這樣的:

技術分享圖片

想了解Temporary ASP.NET Files目錄生成原理的可出門右轉上百度查詢,此篇博文要說的是:當Temporary ASP.NET Files目錄生成文件太多,導致C盤爆滿時,我們可以如何處理?

方法一:把Temporary ASP.NET Files中生成的文件轉移到其它磁盤,使它不擠爆C盤

在web.config的compilcation節點中設置屬性tempDirectory,文件的生成目錄,如:

默認情況是這樣:

1 <compilcation debug="true">

改為:

1 <compilcation debug="true" tempDirectory="D:\MyTemporaryAspNetFiles\"><!--此處的盤符目錄可以自己設定-->

修改之後,即可釋放C盤,不過文件仍然會持續生成在其它磁盤。

方法二:修改預編譯的方式(修改compilcation節點中batch屬性的值)

在web.config的compilcation節點中設置batch屬性,此屬性若不設置,默認為true。

batch="true"時,將文件批量編譯在一個dll中,好處就是可提高編譯速度。

batch="false"時,因為會將每個需要編譯的文件編譯為單獨的dll,存放在Temporary ASP.NET Files目錄中,第一次編譯比較慢。

/******** 以下為我們公司項目特有情況,僅供參考 ********/

在我們的在以往的某些項目中,我們把所有*.html都托管給了.net Framework的aspnet_isapi.dll,並且*.html頁面根據網站後臺系統錄入數據而不斷重新生成,所以每次生成新的html文件之後,整個網站都會被重新編譯,導致Temporary ASP.NET Files目錄中的編譯文件不斷大幅增長。

而我們改為batch="false"之後,每個文件會獨立編譯,當生成新的html文件時,也不會整站全部編譯,只會單獨編譯這一個html文件對應的dll文件存放在Temporary ASP.NET Files目錄中。

\Temporary ASP.NET Files\root\文件不斷增長,如何處理?