我有一个记录通过的消息的 MessageInspector? 您只能阅读一次消息并且必须创建副本的原因是什么?我已经看到了MSDN的文档,我需要创建一个缓冲副本,但我不知道为什么以这种方式实现它? 有人可以向我解释一下吗?
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);
}
如果我无权访问服务器部分或无法将 MessageInspector 更改为使用消息的缓冲副本,是否可以修改上述消息以创建流的副本? 如果是这样,我将如何去做?
您可以将消息复制到缓冲区中并使用它。有关处理邮件的更多详细信息,请访问以下链接:http://msdn.microsoft.com/en-us/library/ms734675.aspx