2013-08-07 3 views
0

System.Web.Caching.Cache의 사용과 관련하여 몇 가지 문제가 있습니다. 사용자간에 캐시가 유지되지 않습니다.

는 기본적으로 나는 웹 양식에 그들을 검색 할 Cache[tablename]를 캐시에 개체를 삽입 할
Cache.Insert(tablename, newlist, null, 
    System.Web.Caching.Cache.NoAbsoluteExpiration, 
    System.Web.Caching.Cache.NoSlidingExpiration); 

을 사용하고 있어요.

내가 겪고있는 것은 이러한 메서드를 호출하는 브라우저를 새로 고치면 데이터가 있고 Cache.Count가이를 반영한다는 것입니다. 그러나 브라우저를 닫고 다시 시작하거나 테스트 컴퓨터 나 다른 브라우저에서 다른 브라우저를 시작하면 캐시 된 데이터가 없습니다.

예 : 캐시가 세션 저장소를 사용하는 것처럼 작동합니다. 또한 응용 프로그램 저장소를 사용하여 시도했지만 똑같은 결과가 있습니다.

나는 내 응용 프로그램 풀 설정 및 Web.config를 통해 살펴 했어, 그리고 분명 아무것도 볼 수 없습니다.

캐시에 정보를 넣기 위해 데이터베이스를 다시 쿼리하면 웹 양식이 많이 느려질 수 있으므로 도움이 될 것입니다.

나는 충분히 명확하지 않다.
재생산.
브라우저 (1) 웹 페이지, 캐시 된 데이터
브라우저 (1) 웹 페이지를 새로 고침, 브라우저 (2)는 웹 페이지,
브라우저 (2) 웹 페이지를 새로 고쳐 캐시 된 데이터, 캐시 된 데이터를 엽니 다

캐시 된 데이터를 엽니 다

브라우저 (1)는 웹 페이지를 새로 고침 , 캐시 된 데이터

볼 수 있듯이 세션 캐시는 일반적인 캐시가 아닌 세션 전용 데이터처럼 작동합니다. 콜백을 사용하면 데이터가 그대로 남아 있기 때문에 새로운 세션에는 사용할 수 없습니다.

+0

항목이 캐시에서 제거 될 때 콜백 처리기를 추가하고 언제 실행되는지 확인해보십시오. –

+0

여전히 나를 위해 작동하지 않습니다 –

+0

간단한 웹 응용 프로그램을 함께 넣어 문제를 재현 해 봤니? 난 그냥이 시도하고 내 DelvelopementServer 캐시는 여전히 당신이 이미를 havent 경우 –

답변

1

Visual Studio에서 F5 키를 눌러 응용 프로그램을 다시 시작한 것처럼 들립니다.

응용 프로그램을 다시 시작하지 않고 새 브라우저 창을 열면됩니다.

+0

Visual Studio에서 테스트 사이에 아무것도하지 않고 새 브라우저 세션을 시작하기 만하면 데이터가 사라집니다. –

관련 문제