[英]shared asp.net object as static or cache
在 asp.net 中存儲共享 object 的最佳方法是什么? 對於每個請求,每個請求都會多次調用它。 我一直在使用這兩種方法,但我想知道是否有更好的方法。 我每小時刷新一次這個 object。
public static List<ResourceObject> SharedResources = new List<ResourceObject>()
//OR
public static List<ResourceObject> SharedResources
{
get
{
List<ResourceObject> _sharedResources = HttpContext.Current.Cache["RedirectRoutes"] as List<ResourceObject>;
if (_sharedResources == null)
{
_sharedResources = LoadNewSharedResource();
HttpContext.Current.Cache["RedirectRoutes"] = _sharedResources;
}
return _redirectRoutes;
}
set
{
HttpContext.Current.Cache["RedirectRoutes"] = value;
}
}
如果您的 object 經常更改(即您提到的每小時一次),那么您最好使用緩存,因為它將能夠為您處理刷新(假設您在將值添加到緩存時傳遞了正確的參數) . 如果您使用 static 值,則不會每小時自動清除一次,因此您需要自己實施檢查。
如果這看起來是一個需要跨請求持續存在的 object,那么這是實現它的完美且合理的方法。 如果在一次調用中多次訪問緩存版本,您可能希望將緩存版本放在局部變量中,以節省每次從緩存中檢索它的時間。
像您關心的那樣緩存它是否存在特定問題?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.