#asp.net #serialization #webforms #out-of-memory #session-state
Вопрос:
Приведенная ниже ошибка регистрируется только в рабочей среде и не может быть воспроизведена локально. Понятия не имею, откуда взялась эта ошибка. Система регистрации ошибок не может найти экран/страницу, пользователя и другую основную информацию для отслеживания активности клиента. Также невозможно сузить обзор истории посещенных экранов.
Единственная подсказка в том, что он был зарегистрирован с помощью глобальной обработки исключений. Пожалуйста, предложите несколько идей, чтобы,
- устраните эту ошибку
- запишите дополнительную информацию о том, как имя экрана/страницы (или) имена классов (или) действия, вызывающие эту проблему
Сообщение: Не удается сериализовать состояние сеанса. В режиме «Сервер состояний» и «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)