2016-09-16 1 views
0

ASP.NET 응용 프로그램에서 반환 된 데이터를 압축하는 데 문제가 있습니다. 데이터를 반환하는 GetUserInfo 테스트 메서드가 있습니다.반환 데이터가 applicationhost.config에 관계없이 압축되지 않음

UserModel users = new List<UserModel>(); 

for (int i = 0; i < 2000; i++) 
{ 
    UserModel _usr = new UserModel(); 
    _usr = new UserModel(); 
    _usr.Id = i.ToString(); 
    _usr.Number = "Abc" + i; 
    _usr.Name = i + "Abc"; 
    users.Add(_usr); 
    _user = null; 
} 

HttpResponseMessage json = Request.CreateResponse(HttpStatusCode.OK, users); 

return json; 

applicationHost.config 파일에서 (IISExpress 폴더에), 나는 다음과 같은 한 :

<section name="httpCompression" overrideModeDefault="Allow" /> 

그리고에서 테스트하려면, 난 단지 충분히 큰 결과 집합을 위해이 방법으로 다음을 이 같은 파일은 <는 httpCompression ... > 포함 : 나는 반환 헤더의 내용에 대한 우체부에서 무엇을보고

다음
<httpCompression directory="%TEMP%\iisexpress\IIS Temporary Compressed Files"> 
     <scheme name="gzip" dll="C:\Windows\System32\inetsrv\gzip.dll" /> 
     <dynamicTypes> 
      <add mimeType="*/*" enabled="true"/> 
      <add mimeType="text/*" enabled="true"/> 
      <add mimeType="message/*" enabled="true"/> 
      <add mimeType="application/javascript" enabled="true"/> 
      <add mimeType="application/json" enabled="true"/> 
      <add mimeType="application/json; charset=utf-8" enabled="true" /> 
      <add mimeType="application/xml; charset=utf-8" enabled="true" /> 
      <add mimeType="*/*" enabled="false"/> 
     </dynamicTypes> 
     <staticTypes> 
      <add mimeType="*/*" enabled="true"/> 
      <add mimeType="text/*" enabled="true"/> 
      <add mimeType="message/*" enabled="true"/> 
      <add mimeType="application/javascript" enabled="true"/> 
      <add mimeType="application/json" enabled="true"/> 
      <add mimeType="application/json; charset=utf-8" enabled="true" /> 
      <add mimeType="application/xml; charset=utf-8" enabled="true" /> 
      <add mimeType="*/*" enabled="false"/> 
     </staticTypes> 
    </httpCompression> 

은 다음과 같습니다

콘텐츠 길이 → 3991

콘텐츠 유형 → 응용 프로그램/json; charset = utf-8

하지만 Content-Type이 표시되지 않습니다. 나는 여기에 충분한 세부 사항을 포함 시켰 으면 좋겠다.

답변

0

그래서 c : \ windows \ system32 \ inetsrv \ config에있는 hostApplication.config 파일을 편집했습니다. 나는 내가 SysWOW64에서 틀린 것을보고 있다고 생각한다. 하지만 다음을 추가하면 효과가있었습니다.

<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files"> 
     <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" /> 
     <staticTypes> 
      <add mimeType="*/*" enabled="true"/> 
      <add mimeType="text/*" enabled="true"/> 
      <add mimeType="message/*" enabled="true"/> 
      <add mimeType="application/javascript" enabled="true"/> 
      <add mimeType="application/json" enabled="true"/> 
      <add mimeType="application/json; charset=utf-8" enabled="true" /> 
      <add mimeType="application/xml; charset=utf-8" enabled="true" /> 
     </staticTypes> 
     <dynamicTypes> 
       <add mimeType="*/*" enabled="true"/> 
       <add mimeType="text/*" enabled="true"/> 
       <add mimeType="message/*" enabled="true"/> 
       <add mimeType="application/javascript" enabled="true"/> 
       <add mimeType="application/json" enabled="true"/> 
       <add mimeType="application/json; charset=utf-8" enabled="true" /> 
       <add mimeType="application/xml; charset=utf-8" enabled="true" /> 
     </dynamicTypes> 
    </httpCompression>