2009-07-15 10 views
3

일부 컨트롤러 동작에서 OutputCache를 사용하기 시작했으며 기대했던 응답을 얻지 못했습니다. 다음과 같이ASP.NET MVC : OutputCache 및 http 헤더 - Cache-Control

기본적으로 내가 설정 한 위치 = OutputCacheLocation.Any 및 HTTP 헤더는 다음과 같습니다

이제
Server    ASP.NET Development Server/9.0.0.0 
Date    Wed, 15 Jul 2009 02:14:21 GMT 
X-AspNet-Version 2.0.50727 
X-AspNetMvc-Version 1.0 
Content-Encoding gzip 
Cache-Control  private, max-age=3600 
Expires    Wed, 15 Jul 2009 02:14:21 GMT 
Last-Modified  Wed, 15 Jul 2009 02:14:20 GMT 
Vary    * 
Content-Type  text/html; charset=utf-8 
Content-Length  640 
Connection   Close 

내 해석이 캐시 제어 부분에만 캐시됩니다 개인 수단으로 설정되는 올 경우 클라이언트에. 나는 또한 모든 프록시에 캐시해야합니다.

OutputCacheLocation.Any를 설정하면 CacheControl이 "public, max-age = 3600"과 같았을 것입니다. 내가 아는 한 개인 정보는 클라이언트에 캐시되며 'Any'(즉, 프록시 - http://msdn.microsoft.com/en-us/library/system.web.httpcacheability.aspx 참조)가 아닌 캐시됩니다.

아이디어가 있으십니까?

건배 앤서니

+0

IIS에 사이트를 게시하고 거기에서 헤더를 보았습니까? 그것은 dev에 서버와 동일합니까? – womp

+0

아니요. VS atm 내에서만 시도했습니다. 차이가있을 것이라고 상상합니까? –

+0

테스트 사이트에 올려 놓았을 때 공개되었습니다. –

답변

1

위의 주석을 참조 솔루션

이 댓글이 대답 간주되었다

편집 :

당신이 IIS에 사이트를 게시하고 찾는 노력이 있으 헤더에 거기? 그것은 dev에 서버와 동일합니까? -

+9

어, 어떤 우주에서 이것이 대답으로 간주됩니까? –

+0

@Rock : OP는 자신의 질문에 답할 담당자가 없습니다. –

+1

아, 전화하세요. 나는 누가 그 질문을하고 있는지 보지 않았다. 여전히 SO 아카이브에 유효한 "답변"이되어서는 안됩니다. –