我有一個大的JSON對象,我需要傳遞給瀏覽器中顯示的視圖。由於我無法使用Action來返回此JSON對象,所以我想在Razor視圖中添加JSON對象。MVC剃刀視圖'System.OutOfMemoryException'與大值字符串
@Html.Hidden("fileContent", fileContent);
上述作品如我所料方式的
<textarea style="display:none"> @fileContent </textarea>
沒有,給我,
異常類型 'System.OutOfMemoryException的' 的是拋出。
描述:執行當前Web請求期間發生未處理的異常。請查看堆棧跟蹤以獲取有關該錯誤的更多信息以及源代碼的位置。
異常詳細信息:System.OutOfMemoryException:拋出類型爲「System.OutOfMemoryException」的異常。
是的,我認爲是更好的重組以另一種方式的流量(may be as Mediator suggest或有一個動作返回JSON對象。)
- 那是MVC的限制,我們可以最大尺寸有MVC視圖?
- 這是因爲IIS Express配置?
- 任何其他方式來解決這個問題?或者將大對象傳遞給客戶端瀏覽器的最佳方式。
謝謝你的時間。任何幫助將不勝感激。
EDIT
控制器
var file = System.IO.File.ReadAllText(HttpContext.Server.MapPath("~/content/data.csv"));
ViewData.Add("file", file);
return View();
堆棧跟蹤
[OutOfMemoryException異常:類型的異常 '的System.OutOfMemoryException' 被拋出] System.Text .StringBuilder.ExpandByABlock(在T32 minBlockCharCount)163 System.Text.StringBuilder.Append(CHAR * 值,的Int32 valueCount)82
System.Text.StringBuilder.AppendHelper(字符串值)31
System.Text.StringBuilder.Append(字符串值)+186
System.IO.StringWriter.Write(String value)+30
System.Web.WebPages.WebPageBase。寫(對象的值)+87
什麼是'fileContent'?將它發送到視圖然後再次將其發回原來的內容有什麼意義? –
導致'OutOfMemoryException'的因素很多,例如'StringBuilder'溢出或者某些線程缺少內存分配。檢查控制器代碼以確保正確處理資源分配。 –
@StephenMuecke fileContent是一個JSON字符串。我將該字符串轉換爲客戶端Java腳本中的JSON對象。這個JSON對象將用於呈現頁面。 – Geeganage