나는 한 조각에 매우 많은 양의 데이터를 뱉어내는 webservice를 사용하고 있습니다. 응답 문자열은 8MB와 같을 수 있습니다. 데스크톱 PC에서는 문제가되지 않지만 내장 된 장치는 8MB 문자열 객체를 처리합니다.SoapHttpClientProtocol : 응답을 문자열 대신 스트림으로 받으시겠습니까?
응답을 스트림으로 가져 오는 방법이 있는지 궁금합니다. 현재 아래와 같은 방법을 사용하고 있습니다. 대신 POST 요청을 사용해 보았습니다. 그러나 SOAP은 더 편리합니다 (응답은 XML이고 POST를 사용하면 일반 텍스트 응답을 유효한 XML로 다시 변환해야 함). 문자열이 아닌 스트림을 반환하는 다른 종류의 "호출"을 사용할 수 있습니까? 어떤 아이디어?
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("MyAPI/MyMethod", RequestNamespace="MyAPI", ResponseNamespace="MyAPI", ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, Use=System.Web.Services.Description.SoapBindingUse.Literal)]
public string MyMethod(string sID)
{
object[] results = this.Invoke("MyMethod", new object[] { sID });
return ((string)(results[0]));
}
내가 대신 ASMX의 WCF를 사용하여 내 Webservice를 연결하는 경우, 그것은 나에게 도움이 될 것입니다?아니면 WCF로 래핑 된 SAOP 응답을 받고 동일한 문제가 있습니까? – Krumelur
WCF는 아무 것도 "포장하지 않습니다". WCF는 단순히 ASMX 웹 서비스 및 클라이언트를 대체합니다. 그것이 훨씬 더 많이 융통성이 있기 때문에 도움이 될 것입니다. 무엇보다도 ASMX를 구성 할 방법이 없었지만 올바른 작업을 수행하도록 구성 할 수 있습니다. –