【问题标题】:Writing a cookie from an ASP.Net HTTPHandler - Page.Response object?从 ASP.Net HTTPHandler - Page.Response 对象写入 cookie?
【发布时间】:2008-09-25 02:09:35
【问题描述】:
我正在创建一个 HTTP 处理程序,它侦听对特定文件类型的调用,并相应地处理它。我的 HTTP 处理程序侦听 .bcn 文件,然后将 cookie 写入用户的计算机并发回图像......这将用于广告横幅,以便将用户标记为看到横幅,然后我们可以提供特价当他们稍后访问我们的网站时。
我遇到的问题是访问 Page 对象...当然 HTTPHandler 实际上并不是一个页面,并且由于 Response 对象位于 Page 对象中,我无法访问它来编写饼干。
有没有办法解决这个问题,还是我需要恢复为仅使用标准 aspx 页面来执行此操作?
谢谢大家..
格雷格
【问题讨论】:
标签:
c#
asp.net
cookies
asp.net-1.1
【解决方案1】:
您可以从 IHttpHandler 传递给 ProcessRequest 方法的 HttpContext 对象访问 Response 对象。这与 Page.Response 公开的对象相同。
【解决方案2】:
IHttpHandler 中定义的 ProcessRequest() 方法被传递一个 HttpContext 引用。此 HttpContext 对象将具有一个名为 Response 和 Request 的属性,您可以使用它。
【解决方案3】:
啊,是的……谢谢 cKramer :)
工作代码是:
HttpContext.Current.Response.Cookies.Add(cookie);