asp.net – Application_EndRequest没有找到Session

我正在尝试按照 ASP.NET OutputCache and Cookies中的建议在Global.asax.vb中的Application_EndRequest中设置一个cookie

我写了以下代码,cookie获取ERROR值.

为什么没有会话?

Sub Application_EndRequest(ByVal sender As Object,ByVal e As EventArgs)
    Dim context As HttpContext = HttpContext.Current
    If Not context.Session Is Nothing Then
        context.Response.Cookies("T").Value = context.Session("T")
    Else
        context.Response.Cookies("T").Value = "ERROR"
    End If
End Sub

解决方法

Application_EndRequest事件中的会话不再存在.

在执行应用程序的代码之后但在释放SessionState之前调用Application_PostRequestHandlerExecute.

Sub Application_PostRequestHandlerExecute(ByVal sender As Object,ByVal e As EventArgs)
    Dim context As HttpContext = HttpContext.Current
    If Not context.Session Is Nothing Then
        context.Response.Cookies("T").Value = context.Session("T")
    Else
        context.Response.Cookies("T").Value = "ERROR"
    End If
End Sub

相关文章

这篇文章主要讲解了“WPF如何实现带筛选功能的DataGrid”,文...
本篇内容介绍了“基于WPF如何实现3D画廊动画效果”的有关知识...
Some samples are below for ASP.Net web form controls:(fr...
问题描述: 对于未定义为 System.String 的列,唯一有效的值...
最近用到了CalendarExtender,结果不知道为什么发生了错位,...
ASP.NET 2.0 page lifecyle ASP.NET 2.0 event sequence cha...