2013-04-16 45 views
0

我使用RazorEngine解析模板,使用如下:Razor.Parse需要很長的時間,第一解析爲每個HTTP請求(Asp.Net MVC)

string parsedText = Razor.Parse(template, model, "cache"); 

首先,如果我沒如果不指定第三個參數爲'cache',則對該方法的任何調用都將花費500 - 1000ms,這經常會被調用。一旦你傳遞了這個參數,第一次需要500-1000毫秒,但是後續的任何調用都可以忽略(0-1毫秒)。

這是在Asp.Net MVC網絡應用程序的上下文中執行的。但是,一旦刷新請求,首次再次需要500-1000毫秒。

任何想法爲什麼需要這麼長時間,可以做些什麼?

我使用的是RazorEngine 3.2.0.0和.Net 4.5。

回答

0

的問題是第三個參數 - cacheName。這必須是唯一的緩存鍵,每個唯一的模板。

我每次都根據模板將其更改爲不同的模板,現在它已經完美並且非常快速地工作。

問題是,我只用一個模板進行了單元測試,但是在實際環境中,模板發生了變化。緩存名稱密鑰是靜態的,因此模板緩存始終處於無效狀態。

相關問題