거의 업데이트되지 않는 일부 목록 데이터를 저장하기 위해 ASP.NET MVC 웹 응용 프로그램에서 캐시를 사용하려고합니다. 나는이 같은 UpdateCache()
방법으로 캐시에 데이터를 삽입합니다 ASP.NET에서 캐시 사용
HttpContext.Current.Cache.Insert("MyApp-Products", products, null, DateTime.Now.AddYears(99), Cache.NoSlidingExpiration);
그런 다음 내 모델에서 내가 검색 : 예상대로
public static List<string> GetProducts()
{
var cachedProducts = HttpContext.Current.Cache["MyApp-Products"];
if (cachedProducts == null)
{
UpdateCache();
cachedProducts = HttpContext.Current.Cache["MyApp-Products"];
}
return ((List<string>)cachedProducts);
}
내가 페이지를 처음 방문이 UpdateCache()
가 호출됩니다. 새로 고침하면 데이터가 캐시에서 가져오고 UpdateCache()
번으로 전화 할 필요가 없습니다. 그러나 15 분이 지나면 앱으로 돌아가 캐시 된 값이 사라집니다. 나의 이해는이 캐시가 세션이 아닌 응용 프로그램마다 있었기 때문에 나 자신이나 다른 사용자를 위해 여전히 거기에있을 것으로 기대했을 것입니다.
캐시를 저장하는 방식에 문제가 있습니까? 또는 ASP.NET의 Cache
이 웹 앱에서 어떻게 작동하는지 이해하지 못하고 있습니까?
IIS에서 유휴 시간 제한이란 무엇입니까? 응용 프로그램이 종료되는 것입니까? 기본값은 20 분입니다. –
저는 IIS에 익숙하지 않습니다. IIS 관리자에서이 설정을 찾을 수 있습니까? – Paul
찾았습니다. 그리고 그것이 문제라고 생각합니다. 감사! – Paul