1
들어오는 메시지를 기록하는 MessageInspector가 있습니까? 한 번만 메시지를 읽을 수 있고 사본을 만들어야하는 이유는 무엇입니까? MSDN에서 버퍼링 된 복사본을 만들어야한다는 설명서를 보았습니다. 그러나이 방법으로 구현 된 이유를 모르겠습니다. 누군가 나에게 설명 할 수 있을까? 내가 서버의 일부 또는 메시지의 버퍼링 된 복사본을 사용하는 MessageInspector을 변경할 수있는 기능에 액세스 할 수없는 경우WCF를 사용하여 메시지 개체를 한 번 읽으십시오.
private static void SendRequest(string request)
{
var req = (HttpWebRequest) WebRequest.Create("http://urltoservice.svc/MethodToCall");
req.ContentType = "text/xml";
req.Method = "POST";
using (var stm = req.GetRequestStream())
{
using (var stmw = new StreamWriter(stm))
{
stmw.Write(request);
}
}
byte[] myData;
using (var webResponse = req.GetResponse())
{
var responseStream = webResponse.GetResponseStream();
myData = ReadFully(responseStream);
}
// Do whatever you need with the response
string responseString = Encoding.ASCII.GetString(myData);
}
, 나는 스트림의 사본을 만들 수 위의 메시지를 수정할 수 있습니다? 그렇다면 어떻게해야할까요?
[Data Transfer Architectural Overview] (http://msdn.microsoft.com/en-us/library/aa347789.aspx) (영문)는 * 메시지 본문은 한 번만 검색 할 수 있습니다. 이것은 forward-only 스트림으로 작업하는 것을 가능하게합니다. * - 따라서 이것은 성능 최적화 측정이며, 무엇보다도이 아키텍처 결정을 이끌어내는 것으로 믿을 수 있습니다. –
이는 기사가 말한대로 고급 개발자를위한 것입니다. 나는 그것을 고맙게 생각한다. 전진 전용 스트림이 무엇인지 전혀 모릅니다. – Xaisoft
누구가 downvoted? 왜 설명 할 수 있니? – Xaisoft