http-Post请求,Post Body中的数据量过大时出现的问题


  公司有位大神发现的问题,给出的解决方案,在此记录一下。
  在 ASP.NET中,当Post Body中的数据量过大的时候(超过maximum request length),.NET会把超过的部分放入Buffered Stream中,在读取完这个Buffered Stream,才能读取Request的InputStream,否则,会抛出异常  。
public void ResponseHandler(HttpContext httpContext)
{
    var s=new StreamReader(this.httpContext.Request.InputStream);//会报错
    var r=s.ReadToEnd();
}

应改为:

public void ResponseHandler(HttpContext httpContext)
{  
    var streamReader = new StreamReader(stream=Request.GetBufferedInputStream());
    var streamRead = streamReader.ReadToEnd();

    var s=new StreamReader(this.httpContext.Request.InputStream);
    var r=s.ReadToEnd();
}

 

 

 

 
 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM