ASP.NET 访问 global.asax 的 session_end 事件中的 cookie 值

发布于 2024-08-04 13:36:51 字数 307 浏览 7 评论 0原文

在 ASP.NET 中,如何检索 global.asax 文件的 Session_End 事件中的 cookie 值? 以下代码抛出异常“对象引用未设置到对象的实例”

    string cookyval = "";
    try
    {
        cookyval = Context.Request.Cookies["parentPageName"].Value;
    }
    catch (Exception ex)
    {
        cookyval = "";
    }

有什么建议吗?

In ASP.NET , How can i retrieve a cookie value in the Session_End event of global.asax file ?
The following code is throwing an exception "Object reference not set to an instance of an object"

    string cookyval = "";
    try
    {
        cookyval = Context.Request.Cookies["parentPageName"].Value;
    }
    catch (Exception ex)
    {
        cookyval = "";
    }

Any advice ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

夜光 2024-08-11 13:36:51

Session_End 事件由 IIS 工作进程触发,而不是由 HTTP 请求触发。因此,您的 HttpContext 将为 null,并且您将无法设置客户端的 cookie。

The Session_End event is fired by the IIS worker process, not an HTTP request. Therefore your HttpContext will be null and you won't be able to set a client's cookie.

樱桃奶球 2024-08-11 13:36:51

不确定这是否可能。

在 Session_End 触发时,请求不再有效。

对不起,

Not sure this is possible.

The request is no longer alive at the point the Session_End fires.

Sorry,

Dan

2024-08-11 13:36:51

Session_End 不在用户请求的上下文中运行,因此无法访问 cookie(或任何其他请求变量)。

如果您将值放入会话中,我认为您可以访问该值:

string cookyval = "";
try
{
    cookyval = (string)Session["parentPageName"];
}
catch (Exception ex)
{
    cookyval = "";
} 

否则,您需要将其写入其他服务器端存储(例如数据库)。

Session_End isn't run in the context of a user request, so there's no access to cookies (or any other request variables).

If you put the value into Session, I think you can access that:

string cookyval = "";
try
{
    cookyval = (string)Session["parentPageName"];
}
catch (Exception ex)
{
    cookyval = "";
} 

Otherwise, you'd need to write it to some other server side storage (like a database).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文