2011-12-02 4 views
3

ASP.NET 레거시 웹 응용 프로그램이 .NET Framework 4.0을 사용하기 전에 시간을 업데이트했습니다. 어떤 문제도 거기에 없다. 마지막으로 Google은 SEO에 최적화 된 URL을 다시 작성하기 위해 새 모듈을 구현했습니다. 그러나 파일 및 확장명이없는 URL (예 : http://server/Some-Nice-URL/file.aspx 대신 http://server/Some-Nice-URL/)을 사용하기를 원했기 때문에 'runAllManagedModulesForAllRequests'를 'true'로 설정해야했습니다. ASP.NET 세션을 사용할 수 없기 때문입니다.'runAllManagedModulesForAllRequests'가 'true'로 설정된 경우의 정적 압축

이제 정적 압축과 GZIP에 문제가 있습니다. 몇 가지 포스트 백 후에 우리는 CSS 및/또는 Javascript를 "손실"했습니다. CSS 또는 Javascript 파일에 직접 액세스하면 브라우저 메시지 'Content Encoding Error'가 나타나고, 때로는 올바르게 전달 된 파일이 있습니다. Fiddler에서 CSS 또는 Javascript 파일의 길이가 잘못된 경우도 있지만 HTTPCompression은 GZIP 인코딩으로 표시되며 "Response가 인코딩되고 검사 전에 디코딩해야합니다." "GZip 머리글의 마법 번호가 올바르지 않습니다."를 클릭하십시오. 'runAllManagedModulesForAllRequests'또는 'doStaticCompression'을 'false'로 설정하면 CSS 및/또는 Javascript 파일의 정적 압축 및 "손실"문제가 없습니다.

아이디어가 있으십니까?

+0

확인 모든 모듈의 순서. 모듈이 순서대로 설치되는 위치와 다른 모듈이 모듈에 미치는 영향에 대해 감사드립니다. –

답변

3

어떤 시점에서 파일의 내용 길이를 헤더에 설정 한 후 gzip은 그 길이를 변경하려고 시도하지만 헤더를 변경할 수 있도록 iis를 설정하지 않았기 때문에 실패하기 때문에 이런 상황이 발생합니다. 잘못된 크기의 gzip 파일을 보내면 문제가 발생합니다.

이 문제를 해결하려면 콘텐츠 길이를 설정하고 제거하거나 설정 한 후에 iss를 헤더 변경을 수락하도록 변경하십시오.

봐이 비슷한 답 : https://stackoverflow.com/a/3210574/159270

이 : ASP.NET site sometimes freezing up and/or showing odd text at top of the page while loading, on load balanced servers

+0

완전한 해결책이 아니지만 나는 당신의 참고 문헌을 알아 냈습니다. 감사!! – Megawolt

+0

@Megawolt 글쎄요, 사실 당신이 소스 길이를 어디에 설정해야 하는지를 알아야하기 때문에 완전한 해결책을 드릴 수는 없습니다. 아마도 일부 모듈이 그렇게 할 것입니다. 그것의 괴로운 문제는 여기에 있으며 서버 헤더와 관련이 있습니다. – Aristos

+0

네가 맞아. 다른 한편으로는 문제는 방금 들었습니다. 하지만 이전에 제대로 처리 된 리소스가있는 임의의 페이지에서 동일한 오류가 발생할 수 있습니다. (.) 그것에 대한 조언이 있습니까? – Megawolt