从ASP.Net HTTPHandler-Page.Response对象编写cookie?

时间:2020-03-06 14:42:03  来源:igfitidea点击:

我正在创建一个HTTP处理程序,以侦听对特定文件类型的调用,并进行相应的处理。我的HTTP处理程序侦听.bcn文件,然后将cookie写入用户的计算机并发送回图像...这将用于广告横幅,以便标记用户看到横幅,然后我们可以提供特殊优惠当他们稍后访问我们的网站时。

我遇到的问题是无法访问Page对象……当然,HTTPHandler实际上不是页面,并且由于Response对象位于Page对象中,因此我无法访问它来编写cookie。

有没有解决的办法,还是我需要还原为仅使用标准aspx页面来执行此操作?

谢谢堆..
格雷格

解决方案

我们可以从HttpContext对象(从IHttpHandler传递到ProcessRequest方法)访问Response对象。这是Page.Response公开的同一对象。

IHttpHandler中定义的ProcessRequest()方法将传递HttpContext引用。此HttpContext对象将具有一个名为Response和Request的属性,我们可以使用它。

啊,是的...谢谢cKramer堆:)

工作代码是:

HttpContext.Current.Response.Cookies.Add(cookie);