Kullanıcı isteğim, Web isteği başına yalnızca bir kez aramak istediğim UserPropertyRepository.Get() yöntemim var.C# İstek başına yönteme erişimi kilitle
Şu anda hizmetin sonucunu HttpContext.Current.Items koleksiyonunda saklıyorum, ancak hizmetin tamamlanması biraz zaman alabildiğinden, genellikle HttpContext dosyasında saklanmadan önce hizmetin birden çok kez çağrıldığını yaşıyoruz .Current.Items koleksiyonu. İstek başına hizmete erişimi nasıl kilitlerim?
Benim Kod şu anda şuna benzer:
if (HttpContext.Current.Items[FavoriteGameRequestCacheKey] != null)
return (IDictionary<ID, FavoriteGame>)HttpContext.Current.Items[FavoriteGameRequestCacheKey];
var favoriteGames = UserPropertyRepository.Get(FavoriteGameUserPropertyKey);
HttpContext.Current.Session[FavoriteGameRequestCacheKey] = favoriteGames
yerine veri depolama, benzer şekilde, verilere yol açan ya da 'Görevi' Bir 'Lazy ' saklayın. –
spender
@spender buna bir örnek verebilir misiniz? – pwind
Elbette. Size bu konuda bir cevap yazdım ... – spender