8
在ASP.NET中,是否有任何理由不製作一組從Cache對象靜態添加/刪除/獲取的函數? (),刪除() - 我讀過緩存中的添加/刪除操作,它擁有自己的內部鎖定機制,所以他們可以()獲取該項目,沒有理由不成爲靜態的 Add如果沒有我創建我自己的鎖(){}包裝,請保持靜態。製作緩存訪問方法static
在ASP.NET中,是否有任何理由不製作一組從Cache對象靜態添加/刪除/獲取的函數? (),刪除() - 我讀過緩存中的添加/刪除操作,它擁有自己的內部鎖定機制,所以他們可以()獲取該項目,沒有理由不成爲靜態的 Add如果沒有我創建我自己的鎖(){}包裝,請保持靜態。製作緩存訪問方法static
已經可以在靜態情況下,通過
HttpRuntime.Cache
的HttpContext.Current.Cache
僅僅轉發了這一號召,方法反正訪問,但調用HttpContext.Current.Cache
可能會導致運行錯誤,如果它不是在生命週期的哪個HttpContext.Current
可用。
回答你的問題:
是的,你可以使用它來處理這個問題。你將不得不像
public static class StaticCache
{
public static Add(object obj)
{
try {
HttpRuntime.Cache.Add(obj);
}
catch(Exception ex) {
//log or something
}
}
}
和使用情況將類似於
StaticCache.Add("bob");
你是說,他們可以是靜態的,因爲HttpRuntime.Cache電話是靜態的?我的問題是關於將Cache調用放在方法中,以便我可以進行日誌記錄,錯誤檢查,根據需要更改過期時間等。 – eych 2010-11-12 16:32:28
哇,不知道這存在。我一直使用'HttpContext.Current.Cache'來靜態訪問它。 – Earlz 2012-12-07 05:58:35