2012-10-02 4 views
17

원시 요청 문자열을 가져와야합니다. 아래는 컨트롤러에 전송 된 http 요청의 예입니다. 사실, 나는 포스트 데이터 (마지막 라인)가 필요하다. 어떻게해야합니까?ASP.NET MVC에서 원시 요청 받기

자동 JSON 모델 바인더를 사용하고 싶지 않습니다. 사실, 난이 마지막 줄은 내가 필요로하는 것입니다 원시 JSON 텍스트

POST http://www.anUrl.com/CustomExport/Unscheduled HTTP/1.1 
Accept: application/json, text/javascript, */*; q=0.01 
Content-Type: application/json; charset=utf-8 
X-Requested-With: XMLHttpRequest 
Referer: http://www.anUrl.com/CustomExport 
Accept-Language: en-us 
Accept-Encoding: gzip, deflate 
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0) 
Host: localhost:8000 
Content-Length: 102 
Connection: Keep-Alive 
Pragma: no-cache 

{"runId":"1","fileDate":"8/20/2012","orderStartMinDate":"10/02/2012","orderStartMaxDate":"10/02/2012"} 

이 필요합니다. 이것은 들어오지 않습니다

var input = new StreamReader(Request.InputStream).ReadToEnd(); 

답변

21

이 시점에서 스트림은 이미 끝에 읽혀 있습니다. InputStream의 위치를 ​​처음으로 다시 설정해야 자신을 읽을 수 있습니다.

Request.InputStream.Position = 0; 
var input = new StreamReader(Request.InputStream).ReadToEnd(); 
+0

감사합니다. 문제는 바로 –