2012-06-12 4 views
0

매우 간단한 가벼운 응답으로 데이터를 중앙 서비스에 업로드하는 데 사용되는 구식 .NET ASMX (SOAP/XML) 웹 서비스가 있습니다. 이것은 몇 년 동안 자리에 있었고 완벽하게 잘 작동했습니다.ASMX 웹 서비스로 데이터 압축하기

그러나 사용량이 조금씩 바뀌었고 전송되는 페이로드 데이터의 전체 크기가 압축되지 않은 상태로 데이터를 보낼 수있는 가능성이 없어졌습니다.

그래서 질문은 : 클라이언트에서 웹 서비스로 보낸 데이터를 어떻게 압축 할 수 있습니까?

Google에서 서비스 응답을 압축하는 데 관련된 수많은 페이지가 있지만 요청을 압축해야합니다. 내가 수동으로 (GZIP)을 압축하고 임시 조치로 페이로드가 그 전에 데이터를 전송 한 후 압축 해제한다 : 이것이 ASMX로 남아있다 및 .NET에 2

편집을 유지해야한다는 것을 염두에

곰 다른쪽에. 이것은 작동하지만 "전통적인 전송 수준"압축을 선호합니다. 저는 3 년전에 블로그에 한

... 
<soap:Body> 
    <MessageData id="1234"> 
     <SenderIdentifier>foobar</SenderIdentifier> 
     <Payload>....This is what is compressed (GZIP)....</Payload> 
    </MessageData> 
</soap:Body> 
.... 
+0

당신은 명시 적으로 요청을 압축 할? 요청에있는 페이로드가 압축되어 있으면서도 요청을 그대로 둘 수 있기 때문입니다. 실제 요청/응답을 낭비하지 않기 때문에 구현하기가 훨씬 쉽습니다. 분명히 이것은 구현 클라이언트 측과 서버 측을 모두 변경할 수 있다고 가정합니다. – pyrocumulus

+0

이것은 우리가 지금하고있는 일이며, GZIP 압축을 통해 페이로드를 실행하여 전송 한 다음 수신자 안에서 압축을 푸는 것입니다. 이것은 가능하지만 가능하다면 "전송 수준"압축을 사용하고 싶습니다 – MrEyes

답변

2
+0

환상적인 블로그는 내가 필요한 모든 것을 대답합니다! 귀하의 검색 엔진 최적화에 대한 작업, 페이지 순위가 높은 얻을) – MrEyes

+0

감사 :) 우리는 3 년 동안 프로덕션 환경 에서이 특정 솔루션을 사용하고 그것은 매우 안정적으로 동작합니다. –

+0

환상적인 블로그가 여전히 존재했다면 환상적이었을 것입니다. – mwardm

관련 문제