Member 11658469 Ответов: 1

Было выброшено исключение типа "system.outofmemoryexception".


Привет,

Я хочу получить огромные данные в gridview из SQL.Fetched данные и при привязке я получаю выше ошибки заголовка.

Полная ошибка, упомянутая ниже.
[OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.]
   System.Web.UI.EventValidationStore.Hash(String target, String argument) +70
   System.Web.UI.DefaultEventValidationProvider.RegisterForEventValidation(String uniqueId, String argument) +179
   System.Web.UI.ClientScriptManager.RegisterForEventValidation(String uniqueId, String argument) +136
   System.Web.UI.ClientScriptManager.GetPostBackEventReference(Control control, String argument, Boolean forUrl, Boolean registerForEventValidation) +9669071
   System.Web.UI.WebControls.MenuRendererStandards.GetPostBackEventReference(MenuItem item) +94
   System.Web.UI.WebControls.MenuRendererStandards.RenderItemLinkAttributes(HtmlTextWriter writer, MenuItem item, Int32 level, String cssClass, Boolean needsAccessKey) +361
   System.Web.UI.WebControls.MenuRendererStandards.RenderItem(HtmlTextWriter writer, MenuItem item, Int32 level, String cssClass, Boolean needsAccessKey) +94
   System.Web.UI.WebControls.MenuRendererStandards.RenderItems(HtmlTextWriter writer, Boolean staticOnly, MenuItemCollection items, Int32 level, Boolean needsAccessKey) +411
   System.Web.UI.WebControls.MenuRendererStandards.RenderContents(HtmlTextWriter writer, Boolean staticOnly) +309
   System.Web.UI.WebControls.Menu.Render(HtmlTextWriter writer) +245
   System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +57
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +100
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25
   System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +128
   System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +8
   System.Web.UI.Control.Render(HtmlTextWriter writer) +10
   System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +57
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +100
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25
   System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +128
   System.Web.UI.HtmlControls.HtmlForm.RenderChildren(HtmlTextWriter writer) +216
   System.Web.UI.HtmlControls.HtmlContainerControl.Render(HtmlTextWriter writer) +32
   System.Web.UI.HtmlControls.HtmlForm.Render(HtmlTextWriter output) +53
   System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +57
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +100
   System.Web.UI.HtmlControls.HtmlForm.RenderControl(HtmlTextWriter writer) +40
   System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +128
   System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +8
   System.Web.UI.Page.Render(HtmlTextWriter writer) +29
   System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +57
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +100
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1386


Что я уже пробовал:

Попытался получить данные с помощью DataReader снова получает тот же вопрос.

1 Ответов

Рейтинг:
0

OriginalGriff

Почему? Как ты думаешь, какая от этого будет польза?

Подумайте об этом: вы получаете огромные объемы данных в gridview и бросаете их пользователю. Как вы думаете, как долго он будет сидеть там, прокручивая огромный список, пытаясь найти интересующую его информацию? И это игнорирует, сколько времени потребуется для загрузки и сколько данных он будет использовать на мобильном устройстве...
Как вы думаете, он собирается вернуться на ваш сайт?

Не делай этого. Отфильтруйте его, выполните поиск, откройте страницу. Дайте пользователю контроль над тем, что вы ему представляете, и он вернется за большим - и найдет свои данные лучше. Но просто бросать все данные на него грубо, лениво и не будет иметь успеха (даже если вы могли бы обойти проблемы с памятью, которые вы, вероятно, не можете, не поговорив с вашим хостингом).
Существует причина, по которой Google предоставляет вам только одну страницу данных за раз: как часто вы смотрите на 1 000 000-ю ссылку из 2 000 000? Как часто вы вообще смотрите на третью страницу результатов Google?


Member 11658469

Спасибо за ответ.Когда я применяю подкачку, проблема решается.