检索在aspx页面中设置的aspx处理程序中的Cookie失败

时间:2014-02-22 08:12:35

标签: asp.net internet-explorer cookies handler ashx

在我将用户重定向到任何公司合作伙伴页面之前,我为其设置了一个Cookie。

我们的合作伙伴稍后会在切换(我们跟踪推荐)到处理程序之后的某个时刻点击我们的合作伙伴,在这个网站上点击该Cookie。

以下代码在Firefox中运行良好,但IE8及更高版本(以及可能的其他版本)每次都返回null。

1)我的域名 - > aspx页面设置cookie:

HttpCookie cookie = new HttpCookie(name);
cookie.Value = value;
cookie.Expires = DateTime.Now.AddDays(5);
Response.Cookies.Add(cookie);
//now redirect to partner page

2)合作伙伴域名 - >通过ajax或脚本标记实现来触发Web请求

<script type='text/javascript' src='http://mydomain.com/handler.ashx'></script>

3)我的域名 - &gt; ashx处理程序接收请求并尝试在ProcessRequest中读取cookie

if (context.Request.Cookies[name]!=null){ //note use of handler context to access cookie
    //get cookie Works with firefox FAILS  with ie
}

我甚至在处理程序中添加了一个p3p标头,以避免在状态栏中假设相关性的IE的cookie阻塞Sauron的邪恶之眼。这确实允许我使用session,但是我需要为我的目的持久存在cookie,所以没有帮助。

更新我执行了相同的测试,但是使用aspx页面而不是ashx来排除任何处理程序问题。问题仍然存在!

另外需要注意的是,从第三方页面调用ashx和aspx,即仍然会显示前面提到的“受限网站”眼睛图标,就像在IE中查看时一样。 (我的隐私设置被设置为默认的中等)

0 个答案:

没有答案