在ASP.NET中,如何在global.asax文件的Session_End事件中检索cookie值? 以下代码抛出异常“对象引用未设置为对象的实例”
string cookyval = "";
try
{
cookyval = Context.Request.Cookies["parentPageName"].Value;
}
catch (Exception ex)
{
cookyval = "";
}
有什么建议吗?
答案 0 :(得分:3)
Session工作进程触发了Session_End事件,而不是HTTP请求。因此,您的HttpContext将为null,您将无法设置客户端的cookie。
答案 1 :(得分:0)
不确定这是可能的。
在Session_End触发时,请求不再存在。
对不起,
丹
答案 2 :(得分:0)
Session_End不在用户请求的上下文中运行,因此无法访问cookie(或任何其他请求变量)。
如果您将值放入Session,我认为您可以访问:
string cookyval = "";
try
{
cookyval = (string)Session["parentPageName"];
}
catch (Exception ex)
{
cookyval = "";
}
否则,您需要将其写入其他服务器端存储(如数据库)。