Причина: «Состояние сеанса создало идентификатор сеанса, но не может его сохранить, потому что ответ уже был сброшен приложением».
Эта ошибка появляется, если:
-
Запуск aspx приложения
-
Вы используете asp.net-website Global.asax, даже если вы aspdotnet что-то делаете в событиях session-state Session_Start / End или нет
-
Ваше asp.net-website приложение слишком рано принудительно aspx выполняет сброс ответа
-
Вы asp-net не используете сеанс перед session-state сбросом
Он вызывается состоянием aspx сеанса, когда он пытается session-state сохранить идентификатор сеанса aspx при выпуске:
System.Web.SessionState.SessionIDManager.SaveSessionID(HttpContext context, String id, Boolean& redirected, Boolean& cookieAdded)
System.Web.SessionState.SessionStateModule.CreateSessionId()
System.Web.SessionState.SessionStateModule.DelayedGetSessionId()
System.Web.SessionState.SessionStateModule.ReleaseStateGetSessionID()
System.Web.SessionState.SessionStateModule.OnReleaseState(Object source, EventArgs eventArgs)
System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Я считаю, что asp.net наличие Global.asax приводит session-state к тому, что идентификатор aspdotnet сеанса сохраняется при выпуске asp-net с помощью SessionStateModule asp.net-website (поздно?), даже если сеанс aspx не использовался вместо HttpSessionState asp.net при вызове SessionID.
Это aspx причина, по которой трюк asp-net string sessionId = Session.SessionID; позволяет избежать проблемы.
Я aspdotnet думаю, он появляется только aspx при запуске приложения из-за asp.net-website поведения инициализации.
Решения / приемы :
-
Избегайте aspdotnet сброса в Page_Load, как уже asp.net было сказано
-
Деактивировать asp.net-website состояние сеанса на странице asp.net-website (EnableSessionState)
-
Используйте asp.net уловку SessionID перед сбросом
-
Используйте asp.net Response.End() вместо .Flush(), если aspx вас не волнуют ошибки, которые asp.net-website могут возникнуть после вашего asp-net сброса
asp.net
session-state
Причина: «Состояние сеанса создало идентификатор сеанса, но не может его сохранить, потому что ответ уже был сброшен приложением».
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.