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