Причина: «Состояние сеанса создало идентификатор сеанса, но не может его сохранить, потому что ответ уже был сброшен приложением».

Эта ошибка появляется, если:

  • Запуск 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

2022-11-12T03:35:41+00:00
Вопросы с похожей тематикой, как у вопроса:

Причина: «Состояние сеанса создало идентификатор сеанса, но не может его сохранить, потому что ответ уже был сброшен приложением».