WCF 응답을 압축하는 사용자 지정 인코더를 구축 중입니다. 그것은 마이크로 소프트의 WCF 샘플에서 Gzip으로 인코더이 블로그 게시물을 기반으로합니다 : 나는 모든 작업있어인코더 수준에서 WCF 메시지 크기를 결정하는 방법
http://frenk.wordpress.com/2009/12/04/gzip-compression-wcfsilverlight/
,하지만 지금은 응답이 일정 이상의 경우에만 나는 압축을 적용 할 것 크기,하지만 난 실제 메시지의 총 크기를 인코더 수준에서 검색하는 방법을 잘 모르겠습니다.
메시지를 압축할지 여부를 알 수 있도록 EncoderFactory의 WriteMessage (...) 메서드와 DispatchMessageInspector의 BeforeSendReply (...) 메서드에서 메시지 크기를 가져와야합니다. 응답에 "gzip"ContentEncoding 헤더를 추가 할 수 있습니다. 요청은 항상 작고 압축되지 않으므로 걱정할 필요가 없습니다.
도움을 주시면 감사하겠습니다.
존.
답장을 보내 주셔서 감사합니다. 그러나 답장과 메시지 모두 해당 시점의 참조 개체 (사용자 지정 내부 인코더를 사용하고 있습니다)이므로 길이를 얻을 수 없습니다. 객체로 드릴 다운하면 참조 객체 인 실제 내용을 가져올 수 있습니다. 직렬화 된 원시 데이터가 전송되기 전에이를 유지하는 방법을 모르겠습니다. – user250837