asp.net2.0運行時頁面編譯的跟蹤分析

來源:互聯網
上載者:User
1.第一次訪問某個目錄下的頁面:
asp.net會將該目錄下所有頁面編譯併產生到web伺服器上的臨時目錄(類似如下路徑:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\項目名\b9135081\af48f820)。
那麼是不是意味著,如果想讓使用者開啟首頁的速度不慢,首頁所在的目錄下不應該放太多的頁面呢?

2.如果線上修改某aspx檔案:
假設它在第一次使用者訪問時產生的是App_Web_mqhdhwjz.0.cs,App_Web_mqhdhwjz.1.cs...和App_Web_mqhdhwjz.dll
那麼在修改了它的aspx檔案之後,它會將App_Web_mqhdhwjz.0.cs,App_Web_mqhdhwjz.1.cs...刪掉,並產生一個App_Web_mqhdhwjz.dll.delete檔案(應該是標識該dll已經失效);
並且重建對應修改後的aspx的相關編譯檔案:App_Web_htszrc4w.0.cs,App_Web_htszrc4w.1.cs,...App_Web_htszrc4w.dll

這幾天一天為aspx頁面include了一個htm頁面的問題而苦惱,這事情到這裡就明朗了。
下午一直在和niels討論,為啥在asp頁面中include一個html頁面之後,修改html能馬上體現到asp中,而在aspx中卻不行呢?說著就說到了.net在運行時編譯的這個問題上,我們都認為就是這個原因導致!
通過以上的跟蹤可以得出結論,這個問題的原因的確就在此:
asp是解釋型的,所以在修改包含進來的html後,用戶端重新整理下ie,就能看到效果;
而aspx是每次修改對應的檔案後都會編譯,而修改被包含的html並不會引起aspx的重新編譯,所以在用戶端無法看到效果。除非修改一下包含了html的aspx檔案,否則,永遠看不到所作的修改。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.