Есть ли способ отключить JSON ModelBinder в ASP.NET MVC 3 RC2?

В ASP.NET MVC 3 RC2 по умолчанию ModelBinder будет автоматически анализировать тело запроса, если Content-Type установлен в приложение / json . Проблема в том, что это оставляет Request.InputStream в конце потока. Это означает, что если вы попытаетесь прочитать входной поток, используя свой собственный код, вы сначала сбросите его обратно в начало:

// 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 по умолчанию не выполнял этот дополнительный синтаксический анализ. Есть ли способ сделать это?

11
задан Daniel T. 21 December 2010 в 19:08
поделиться