Справка читая JSON из HttpContext. InputStream

Я создал HttpModule для получения запросов на аудит целей.

Поскольку Ajax запрашивает к веб-методу, я хотел бы также регистрировать данные JSON, связанные с запросом.

Например, запрос

POST/MyPage.aspx/AddRecord HTTP/1.1
x-requested-with: XMLHttpRequest
Принимать-язык: en-ГБ
Referer: http://fiddlerlocal:5000/AddRecord.aspx
Примите: application/json, текст/JavaScript, /
Тип контента: application/json; charset=utf-8
UA-ЦП: x86
Принятый закодированный: gzip, выкачать
Агент пользователя: Mozilla/4.0 (совместимый; MSIE 7.0; Windows NT 5.1;.NET CLR 2.0.50727;.NET CLR 3.0.04506.648;.NET CLR 3.5.21022;.NET CLR 3.0.4506.2152;.NET CLR 3.5.30729)
Хост: fiddlerlocal:5000
Довольная длина: 287
Соединение: активный
Прагма: без кэшей
Cookie:.....
{"идентификатор": "282aa3b5-b55f-431c-916e-60433fdb61c0", "дата": "8-6-2010"}

Я попробовал множество методов для чтения JSON ({"идентификатор": "282aa3b5-b55f-431c-916e-60433fdb61c0", "дата": "8-6-2010"}) от HttpContext. InputStream.

Пример 1:

Читатель StreamReader = новый StreamReader (запрос. InputStream);
представьте encodedString в виде строки = читатель. ReadToEnd (); - ReadToEnd возвращает пустую строку

Пример 2:

использование (мс MemoryStream = новый MemoryStream ())
{
байт [] буферизует = новый байт [запрос. ContentLength];
запрос. InputStream. Читайте (буфер, 0, запрос. ContentLength);
мс. Запишите (буфер, 0, запрос. ContentLength); - массив байтов содержит корректное число байтов, но каждый байт имеет значение 0 - закодировал некоторых как?
возвратитесь Преобразовывают. ToBase64String (мс. ToArray ()); - ничего не делает
возвратите Кодирование. UTF8. GetString (мс. ToArray ()); - ничего не делает
}

Как я могу успешно извлечь данные HttpContext. InputStream?

Заранее спасибо.

5
задан blahblahblah 12 August 2010 в 09:10
поделиться