2010-06-07 78 views
2

我有一個ASP.NET MVC 2應用程序(.NET 4),它需要一個帶有兩個參數的HTTP POST。第二個參數是html的一大塊。控制器的操作如下所示。ASP.NET MVC 2控制器參數值被截斷髮布

[ValidateInput(false)] 
    [AcceptVerbs(HttpVerbs.Post)] 
    public ActionResult TriangleUpdate(string userId, string html) 
    { 

     var user = _udRep.GetUserInfoForUser(userId); 
     if (user == null) 
     { 
      return Json(new { Result = "INVALID_USER" }); 
     } 

     System.Diagnostics.Debug.Write(html); 
     if (!EnsureValidTriangleHTML(html)) 
     { 
      return Json(new { Result = "INVALID_HTML" }); 
     } 

     //other code here 
    } 

當發佈到此方法的html相當大,大約300 KB時,html參數的內容被截斷。 System.Diagnostics.Debug.Write(html)僅輸出傳入的部分內容輸入。

Fiddler顯示完整的'application/x-www-form-urlencoded'文章以「Content-Length :366050「標題。但是在服務器端,只有一些內容在html參數中可用。

是否有某種緩衝區沒有被刷新或HTTP內容的最大內容限制?

回答

0

我要回答我自己的問題。返回的html是由我的控制之外的系統生成的。 HTML中有一個 元素將表單值分解爲其他字段。那是截斷html的。

爲了解決這個問題,我必須創建一個自定義模型聯編程序來檢查HttpContext的Request.Form集合。 NameValueCollection中沒有2個元素,而是3,這導致我發現問題。

希望這可以幫助其他人試圖解決類似的問題。