Базовое исключение: Исключение типа ‘Система.Было выброшено исключение OutOfMemoryException’

#asp.net #serialization #webforms #out-of-memory #session-state

Вопрос:

Приведенная ниже ошибка регистрируется только в рабочей среде и не может быть воспроизведена локально. Понятия не имею, откуда взялась эта ошибка. Система регистрации ошибок не может найти экран/страницу, пользователя и другую основную информацию для отслеживания активности клиента. Также невозможно сузить обзор истории посещенных экранов.

Единственная подсказка в том, что он был зарегистрирован с помощью глобальной обработки исключений. Пожалуйста, предложите несколько идей, чтобы,

  1. устраните эту ошибку
  2. запишите дополнительную информацию о том, как имя экрана/страницы (или) имена классов (или) действия, вызывающие эту проблему

Сообщение: Не удается сериализовать состояние сеанса. В режиме «Сервер состояний» и «SQLServer», ASP.NET будет сериализовать объекты состояния сеанса, и в результате несериализуемые объекты или объекты MarshalByRef не разрешены. То же ограничение применяется, если аналогичная сериализация выполняется хранилищем состояний пользовательского сеанса в «Пользовательском» режиме.

Трасса штабелирования :

 at System.Web.Util.AltSerialization.WriteValueToStream(Object value, BinaryWriter writer)     
at System.Web.SessionState.SessionStateItemCollection.WriteValueToStreamWithAssert(Object value, BinaryWriter writer)     
at System.Web.SessionState.SessionStateItemCollection.Serialize(BinaryWriter writer)     
at System.Web.SessionState.SessionStateUtility.Serialize(SessionStateStoreData item, Stream stream)     
at System.Web.SessionState.SessionStateUtility.SerializeStoreData(SessionStateStoreData item, Int32 initialStreamSize, Byte[]amp; buf, Int32amp; length, Boolean compressionEnabled)     
at System.Web.SessionState.OutOfProcSessionStateStore.SetAndReleaseItemExclusive(HttpContext context, String id, SessionStateStoreData item, Object lockId, Boolean newItem)     
at System.Web.SessionState.SessionStateModule.OnReleaseState(Object source, EventArgs eventArgs)     
at System.Web.SessionState.SessionStateModule.OnEndRequest(Object source, EventArgs eventArgs)     
at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()     
at System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step)     
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Booleanamp; completedSynchronously)   
 

Базовое Исключение: Exception of type 'System.OutOfMemoryException' was thrown.

Трассировка стека:

 at System.IO.MemoryStream.set_Capacity(Int32 value)     
at System.IO.MemoryStream.EnsureCapacity(Int32 value)     
at System.IO.MemoryStream.Write(Byte[] buffer, Int32 offset, Int32 count)     
at System.IO.BinaryWriter.Write(Byte[] buffer)     
at System.Runtime.Serialization.Formatters.Binary.__BinaryWriter.WriteSingleArray(NameInfo memberNameInfo, NameInfo arrayNameInfo, WriteObjectInfo objectInfo, NameInfo arrayElemTypeNameInfo, Int32 length, Int32 lowerBound, Array array)     
at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.WriteArray(WriteObjectInfo objectInfo, NameInfo memberNameInfo, WriteObjectInfo memberObjectInfo)     at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Write(WriteObjectInfo objectInfo, NameInfo memberNameInfo, NameInfo typeNameInfo)     
at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Serialize(Object graph, Header[] inHeaders, __BinaryWriter serWriter, Boolean fCheck)     
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize(Stream serializationStream, Object graph, Header[] headers, Boolean fCheck)     
at System.Web.Util.AltSerialization.WriteValueToStream(Object value, BinaryWriter writer)