2009-11-24 23 views
1

我正在開發一個應用程序,該應用程序具有一個基於底層DataItem(本例中爲產品)的每行使用動態模板的中繼器。我想要做的是具有某種XML文件,該文件將存儲哪些模板將與哪些模板一起使用,然後在沒有爲產品指定任何模板的情況下使用默認模板。我的產品目錄不包含特別多的產品,但必須爲每一行打開和解析XML文件幾乎肯定會有不利的性能影響。我想要做的是讓ASP.net引擎將XML文件中的條目編譯成某種全局集合,可以在需要時輕鬆訪問。理想情況下,應用程序將能夠確定何時對文件進行了更改,並在必要時自動重新編譯集合並重新啓動應用程序。如果我的理解是正確的,這已經是引擎如何處理web.config文件。如何使用XML文件爲ASP.net Repeater選擇dyanmic模板?

有誰知道這樣的方法是否可行,以及我如何能夠完成它?

感謝,

邁克

回答

1

那麼你可能會打開並分析每個頁面加載XML文件沒有任何顯著的不良性能問題。把結果扔在一個頁面級集合中,並且從每個中繼行中讀取。這至少可以防止您必須管理具有文件更改更新依賴項的全局集合。

我確實使用了類似的方式使用XML,雖然大多數非關鍵的公司Intranet類型的應用程序,所以我一定會說你的方法不是太糟糕。 :)在我的具體情況中,我最終將XML放在全局應用程序級別的對象中,其中的一個缺點是我必須手動重新啓動應用程序才能重新加載XML,如果它發生更改。

如果您確實想要解決您的理想情況,我會考慮將XML模板存儲在Cache對象中,並在XML文件上設置CacheDependency

+0

感謝您的回覆。我認爲最後我會去瀏覽頁面級集合,因爲所有這些模板選擇的東西都​​被放入Web用戶控件中。我仍然會閱讀您發佈的CacheDependency鏈接,因爲我仍然可能需要在將來做類似的事情。 謝謝! – mclark1129 2009-11-25 14:21:31