我有一個控制器動作,可以動態呈現給定幾個輸入參數的圖形。由於它在圖形渲染時略微明顯,我使用輸出緩存來避免重新渲染。控制器直接調用ASP.Net MVC OutputCache
有幾十個輸入參數組合非常頻繁地使用。我認爲這是一個好主意,溫暖緩存,以便第一個訪問者使用給定的那些組合不會遇到延遲。
爲此,我直接調用從的Application_Start控制器()是這樣的:
UtilController uc = new UtilController();
uc.GenerateImage(p1, p2, p3);
通過設置斷點,我看到的是,控制器動作被調用並生成圖像。但是,瀏覽器請求圖像的第一個(也是唯一的一次)時間,它會再次生成。爲了進行此測試,瀏覽器配置爲不緩存任何內容,並仔細比較用於調用控制器操作的參數。
當直接調用控制器動作時,輸出緩存是否被調用?預熱緩存有沒有更好的方法(希望是一個獨立的Web項目)?
緩存URL是否敏感?換句話說,我可以通過http:// localhost訪問操作,還是必須知道外部URL? –
AFAIK網址在Windows下不區分大小寫。 –
我的意思是,如果網站部署在'http:// somedomain.com',我可以使用WebClient加載要從'http:// localhost'緩存的資源嗎? –