2011-09-30 4 views
5

.NET 4.0을 사용하여 C#으로 작성된 RESTful WCF 웹 서비스가 있습니다. 응답을 GZip을 사용하여 압축하거나 압축을 풀고 싶습니다. (요청에 대한 압축을 지원해야 할 수도 있지만, 아직 요구 사항은 아닙니다.) IIS 호스팅은 옵션이 아니므로 Windows 서비스 (자체 호스팅 WCF 서비스)로 배포됩니다.자체 호스팅 된 RESTful WCF 웹 서비스에서 GZip 압축을 설정하는 방법은 무엇입니까?

내 검색은 지금까지 짧아졌습니다. 대부분의 히트는 IIS에서 압축을 켜거나 SOAP 기반 서비스 용 사용자 지정 메시지 인코더를 쓰거나 내 시나리오에 맞지 않는 경우입니다.

이 작업을 수행하는 방법에 대한 지침이 있다면 크게 감사하겠습니다!

답변

1

자기 호스팅 시나리오에서 GZip 압축을 수행하려면 정말로 맞춤형 인코더 경로 (코드가있는 샘플은 http://msdn.microsoft.com/en-us/library/ms751458.aspx)가 필요합니다 (4.5에서는 바이너리 인코딩에서 압축 지원이있는 것처럼 보입니다. 공고 당 MSDN WCF Forums에, 그러나 그것의 존재하지 않는다 상자를 위해 4.0). 시나리오에서 사용자 지정 인코더가 작동하지 않는 이유는 무엇입니까?

+0

바로 답변 해 주셔서 감사합니다. 사용자 정의 인코더가 갈 방법이 아니라는 것을 잘 모르겠지만 링크 된 샘플은 SOAP 서비스이며 WCF RESTful 서비스에서 작동하는 방법을 수정하는 방법을 잘 모르겠습니다. 나는 그것을 다시 한번 살펴볼 것이다. –

+0

기존 인코딩 바인딩 요소를 전달하는 GZipMessageEncodingBindingElement의 인스턴스를 만들 수 있습니다. SOAP에 사용되지 않는 WebMessageEncodingBindingElement를 전달하면 GZip을 사용하는 끝점에서도 SOAP을 사용하지 않습니다. – carlosfigueira

관련 문제