Firefox 显示有 3 个(未过期的)cookie,我可以在后面的常规 ASP.NET aspx.cs 代码中访问它们。我在同一页面上也有一个 Silverlight 用户控件,但是当我尝试访问同一个 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 等客户端脚本中访问它们。例如,ASP.NET 中的 session 和表单例份验证 cookie 就是这种情况。
关于c# - HtmlPage.Document.Cookies 为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6103543/