2014-11-25 2 views
3

웹 API 컨트롤러에서 보낸 JSON 응답 압축을 사용하려고하지만 어떤 이유로 작동하지 않습니다. StackOverflow 및 Microsoft 포럼에서 비슷한 질문을 많이 겪었습니다. 그래서 동적 압축 모듈이 설치되어, applicationHost.confighttpCompression은 다음과 같습니다 당신이 할 수 Configuration editorIIS 7.5에서 JSON의 동적 압축 사용 가능

dynamicTypes

, 나는 dynamicCompressionDisableCpuUsagedynamicCompressionEnableCpuUsage 값을 제기 참조하십시오. 동적 압축 정적 압축 일부 히트를 나타내고 있지만, 아무것도 :

<urlCompression doStaticCompression="true" doDynamicCompression="true" /> 

실패한 요청 추적 (https://stackoverflow.com/a/787251/829623 여기서 설명한 체감 :) 는 또한 모두에 applicationHostweb.config에서 다음 값 urlCompression 설정했다.

응답 크기는 800KB에서 20MB까지 다양합니다. 그러나 그들 중 누구도 압축되어 있지 않습니다.

문제는 동일한 구성을 가진 로컬 IIS 8 서버가 모든 것을 압축한다는 것과 문제가 발생한 이유가 모두 사라 졌다는 것입니다. 아마도 CPU 사용량에 문제가 있습니까? 그것을 검사 할 수 있습니까? 이 외에도 불행하게도 나는 어떤 가정도하지 않는다.

+0

'% windir % \ System32 \ inetsrv \ config \ ApplicationHost.config 파일의 내용을 게시 하시겠습니까? – vzamanillo

+0

요청 헤더가 제대로 설정되지 않았을 가능성이 있습니다. 로컬 IIS 8 및 IIS 7.5에서 요청 및 응답 헤더를 붙여 넣을 수 있습니까? 또한 성공 상태 코드 (200-399)에 대해 IIS 추적을 사용하도록 설정하면 요청이 처리되고 처리되는 방법에 대한 단서가 제공됩니다. – Mrchief

+0

@vzamanillo : 여기 있습니다 : https://www.dropbox.com/s/7qr71e76qn4898v/applicationHost.config?dl=0 – MyUserName

답변

0

당신 수

<serverRuntime frequentHitThreshold="1" /> 

는 또 다른 것은 동적 압축이 있는지 확인하는 것입니다 (아이 AFAIK 설정을 무시하지 않을 것이다 당신의 web.config에 설정) 당신이 ApplicationHost.config에 1로 frequentHitThreshold을 설정하려고 심지어 IIS 7.5 서버에 설치되었습니다. 2k8에는 기본적으로 활성화되어 있지 않습니다. http://www.iis.net/configreference/system.webserver/urlcompression

+0

위에서 언급했듯이, 대신 application'level 압축을 사용하기로 결정했습니다. 동적 압축은 웹 서버와 웹 응용 프로그램 모두에 설치되고 활성화됩니다. 이것은 도움이되지 않았다 :). – MyUserName

관련 문제