큰 페이지 더미의 aspx 페이지가있는 솔루션이 있습니다. 우리는 또한 CSS/js 파일이 상대적으로 정기적으로 변경되는 환경에서 작업합니다 (내 개발 팀보다 훨씬 더 자주 선호합니다). 이러한 CSS/j를 변경하면 사용자에게 캐시 충돌이 발생하여 사용자에게 문제가됩니다. 우리는 일반적으로 캐시를 지우도록 지시하고 모든 것을 해결하지만 곧 캐시를 지우라고 말할 필요는 없습니다. 전체 솔루션에서 HTTP 응답 헤더 (캐시 지우기)
그래서 나는 그들의 캐시를 지우려면 사용자를 얻기 위해 내가 여기에 주문 본 게시물에서 HTML 응답 헤더를 사용 :Response.AppendHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
Response.AppendHeader("Pragma", "no-cache"); // HTTP 1.0.
Response.AppendHeader("Expires", "0"); // Proxies.
이 확실히 작동하는 것 같군. 또한 새로 고침 강제로 우리의 js 파일에 쿼리 문자열 매개 변수를 사용하는 방법에 대한 생각 :
<script src="../js/jquery-1.4.2.min.js?v=1" type="text/javascript"></script>
가능성이 우리 JS/CSS를 캐싱 문제를 도움이 될 것입니다,하지만 난 그 캐시되는 유일한 페이지 내용입니다 확신 아니에요 (및 이로써 주요 출시 도중 오류가 발생 함).
일단 HTML 응답 헤더를 사용하여 목표를 달성했다면 만료도 적용 할 계획입니다.
질문 : 우리 솔루션의 모든 단일 ASP에 응답 헤더를 추가해야합니까? 상위 프레임으로로드하고 자식 iframe에 캐시 지우기를 "상속"시킬 수 있습니까? 그렇지 않은 경우 마스터 페이지에 넣을 수 있고 콘텐츠 페이지가 마스터 페이지에서 헤더를받을 수 있습니까? 어떤 통찰력도 좋을 것입니다.
' 보호 문자열 getRandomStr() { 난수 R = 새로운 임의 '는 C# 함수 와 '(); int rando = r.Next(); return rando.ToString(); } ' 내가 아는 한 마스터 페이지에서 작동합니다. 개인 aspx 페이지에 대해 더 염려합니다. 방금 Masters에는 Page_PreInit이 없다는 것을 알게되었으므로 C# 측에 걸림돌이됩니다. JS/CSS 버전 구현부터 시작하여 거기에서부터 시작하겠습니다. – RockiesMagicNumber
난수 접근 방식의 단점은 파일이 캐싱되지 않으므로 이상적이지 않으며 모든 페이지로드 속도를 늦출 것입니다. – graphicdivine
좋은 지적. 나는 버전을 조사 할 것이다. – RockiesMagicNumber