Firefox显示有3个(未过期的)Cookie,我可以使用后面的常规ASP.NET aspx.cs代码访问它们。我在同一页面上也有一个Silverlight用户控件,但是当我尝试访问相同的cookie时,它找不到任何cookie。 HtmlPage.Document.Cookies
计数为0。
我可能做错了什么?
我正在使用此代码:
private string GetCookie(string key)
{
string[] cookies = HtmlPage.Document.Cookies.Split(';');
foreach (string cookie in cookies)
{
string[] keyValue = cookie.Split('=');
if (keyValue.Length == 2)
{
if (keyValue[0] == key)
return keyValue[1];
}
}
return null;
}
来自here
我从 View 模型中调用它:
public AQViewModel()
{
context = new AQContext();
string cookie = GetCookie("MyCookie");
.....
}
最佳答案
如果这些cookie是HttpOnly cookies(即在创建时包含HttpOnly
标志),则您将无法在客户端脚本(例如javascript和Silverlight)中访问它们。例如, session 和ASP.NET中的表单例份验证cookie就是这种情况。
关于c# - HtmlPage.Document.Cookies为空,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6103543/