2010-12-02 102 views
1

有沒有一種方法可以在ASP.NET中查找,當* .aspx頁面發生變化時。要找出一個* .aspx頁面是否發生了變化

我需要它刷新基礎頁面構造函數中的緩存靜態變量。

感謝和問候。

+0

由哪些改變呢?當然,如果您重新發布您的網站,應用程序域將被回收,這將發生嗎? – Paddy 2010-12-02 10:15:07

+0

添加一個新的方法(代碼內聯)http://www.808.dk/?code-aspnet-inline - 如果我只上傳更改後的xyz.aspx文件,應用程序將不會回收。 basepage(其他程序集)將獲取所有方法並將它們保存在一個靜態變量中。所以,如果我添加一個新的方法到頁面,靜態變量必須更新值。 – Beni 2010-12-02 10:19:17

回答

1

大概你知道ASP.NET頁面已經改變了(因爲你已經上傳了它)。爲什麼不在這個時候回收應用程序池,或者做一些會導致應用程序池回收的東西(比如修改web.config)?

這個問題......

What causes an application pool in IIS to recycle?

...是什麼原因導致一個應用程序池回收會談。這MSDN文章...

http://blogs.msdn.com/b/tess/archive/2006/08/02/asp-net-case-study-lost-session-variables-and-appdomain-recycles.aspx

...都有極佳寫了這個話題。

當您上傳新的.aspx文件時,您應該重新編譯,但您可能無法獲得應用程序池回收。回收前重新編譯的次數由config控制。見苔絲文章(上面)的細節,但此片段她給出是...

的 重新彙編(ASPX,ASCX或ASAX) 數超過由指定的限制[當發生回收]在machine.config中 設置或 web.config文件(默認設置爲 15)

相關問題