4

我們有一個網站(實際上是一個應用程序生成器),其呈現了很多在不同情況下的用戶控件,排除動態呈現的用戶控制從輸出緩存

有一天,經理決定在主頁添加Output cache

好的,每件事情都很好,並且請求反應非常快!

但在另一方面,這種緩存有一些麻煩:

假設我們有一個InsertForm User control那漫天一些實體,以及顯示實體列表ListForm User Control,所以你可以猜到發生什麼,實體填寫正確,但列表中未顯示,爲什麼?由於輸出緩存。

然後,我們必須從緩存中排除這種用戶控件,一些搜索我們發現Donut Caching後,它似乎非常好,

我們使用Add dynamically server control to Substitution

大多數的用戶控件的實現取決於所有頁面生命週期的,他們中的一些在初始化,一些負載他們中的一些渲染,所以在大多數情況下,我們有一個佔位符,我們所做的就是:

enter image description here

enter image description here

而且在在PreRender從佔位符刪除所有的控制,以防止重複:

enter image description here

在某些情況下

我們有一個很好的結果,但在一些實施再次,我們有麻煩,所有Request替換爲HttpContext.Current.Request和所有Session都轉換爲字段,但在某些情況下使用Wizard我們仍然有exce注意:Request does not exist in this context。 而在綁定事件中我們又遇到了麻煩,事件沒有正確綁定,就像嚮導下一步按鈕單擊事件。

所有我填寫我們是在錯誤的方式之後,也許這不是在這種情況下實際,

你覺得呢?

我們還有其他選擇嗎?

還是所有這些麻煩都可以解決?有什麼建議嗎?

回答