Получить XML из HTTP POST-запроса - PullRequest
3 голосов
/ 11 апреля 2011

У меня есть ActiveX, который отправляет на сервер (обработчик HTTP) с полезной нагрузкой определенного XML-документа.

Есть ли лучший способ извлечь полезную нагрузку в XML, чем приведенный ниже?

private static byte[] RequestPayload()
{
   int bytesToRead = HttpContext.Current.Request.TotalBytes;
   return (HttpContext.Current.Request.BinaryRead(bytesToRead));
}

using (var mem = new MemoryStream(RequestPayload()))
{
    var docu = XDocument.Load(mem);
}

Получив «документ», я могу отправлять запросы, используя LINQ to XML.

Спасибо

1 Ответ

1 голос
/ 12 апреля 2011

Просто загрузите XML из InputStream запроса, например

XDocument doc;
using (Stream input = HttpContext.Current.Request.InputStream)
{
  doc = XDocument.Load(input);
}

На мой взгляд, MemoryStream не нужен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...