2009-12-29 4 views

답변

2

ASMX 웹 서비스는 SOAP를 사용하며 컨텐츠 유형은 항상 application/soap+xml이고 내용은 xml입니다. 메서드에서 byte[]을 반환하더라도이 배열은 base64가 비누 본문으로 인코딩됩니다.

+0

따라서이 제한을 우회 할 방법이 없습니까? :) – zproxy

+0

그것은 제한이 아니며 표준의 일부입니다. SOAP 클라이언트가 이해할 수있는 응답을 반환하지 않으려면 먼저 SOAP (ASMX) 페이지를 사용하지 마십시오.보다 일반적인 HTTP 처리기 중 하나를 사용하고 Response 개체에 쓸 수 있습니다. – David

2

웹 서비스에서 바이트 배열을 반환 할 수는 있지만 응답 메시지로 계속 serialize됩니다. (일반적으로 SOAP XML 응답에서 base-64로 사용됩니다.)

2 진 콘텐츠 만 반환하려면 웹 서비스를 사용하지 않아야합니다. 대신 Response.BinaryWrite을 HTML 콘텐츠가없는 일반 페이지 또는 context.BinaryWrite을 http 핸들러에 사용할 수 있습니다.

2

웹 서비스 대신 일반 처리기 (.ashx)를 사용하십시오.

일반 처리기는 가져 오기/게시 요청을 받아들이고 HttpContext를 통해 출력을 완전히 제어 할 수있는 기능을 제공합니다.

저는 일반적으로 파일 (pdfs 등)을 브라우저에 보내는 데이 파일을 사용합니다.

관련 문제