msdn дает нам этот пример для получения данных сообщения.Получается ли получение данных из HttpListenerRequest асинхронно?
public static void ShowRequestData (HttpListenerRequest request)
{
if (!request.HasEntityBody)
{
Console.WriteLine("No client data was sent with the request.");
return;
}
System.IO.Stream body = request.InputStream;
System.Text.Encoding encoding = request.ContentEncoding;
System.IO.StreamReader reader = new System.IO.StreamReader(body, encoding);
if (request.ContentType != null)
{
Console.WriteLine("Client data content type {0}", request.ContentType);
}
Console.WriteLine("Client data content length {0}", request.ContentLength64);
Console.WriteLine("Start of client data:");
// Convert the data to a string and display it on the console.
string s = reader.ReadToEnd();
Console.WriteLine(s);
Console.WriteLine("End of client data:");
body.Close();
reader.Close();
// If you are finished with the request, it should be closed also.
}
Я проверил класс StreamReader и там нет Begin ... End ... методы. Означает ли это, что данные Post не могут быть получены асинхронно? Или он уже был извлечен до того, как появился обратный вызов из HttpListener?
Я бы не хотел, чтобы получить потокобезопасности стойла, а кусок медленных почтовых данных приходит.
Что такое правильный асинхронный способ сделать это? (Или это ReadToEnd на самом деле правильно?)
благодаря
R
здорово! благодаря...! – Toad