В ASP.NET MVC 3 RC2 по умолчанию ModelBinder автоматически анализирует тело запроса, если для параметра Content-Type
установлено значение application/json
. Проблема в том, что в конце потока остается Request.InputStream
. Это означает, что если вы попытаетесь прочитать входной поток, используя свой собственный код, сначала reset верните его в начало:
// client sends HTTP request with Content-Type: application/json and a JSON
// string in the body
// requestBody is null because the stream is already at the end
var requestBody = new StreamReader(Request.InputStream).ReadToEnd();
// resets the position back to the beginning of the input stream
var reader = new StreamReader(Request.InputStream);
reader.BaseStream.Position = 0;
var requestBody = reader.ReadToEnd();
Поскольку я использую Json.NET
для выполнения сериализации/десериализации, я бы хотел отключить стандартный ModelBinder по умолчанию для этого дополнительного анализа. Есть ли способ сделать это?