我有一个非常奇怪的问题,几周来一直给我带来麻烦。我有一个ASP.NET页面,可以从cookie中获取值
string SessionKey = Request.Cookies["SessionKey"].Value;
Cookie本身是在同一服务器上运行的silverlight应用程序中设置的,使用我在SO上找到的一个小帮助方法。
public static void SetCookie(string key, string value)
{
DateTime expiration = DateTime.UtcNow + TimeSpan.FromDays(5);
string cookie = String.Format("{0}={1};expires={2}", key, value, expiration.ToString("R"));
HtmlPage.Document.SetProperty("cookie", cookie);
}
所以这就是问题所在。我有三台电脑。这三个都在不同的位置(房子,办公室,不同的办公室)。一个是在其上托管整个Web应用程序的开发机器。第二个是Web服务器,其中包含在IIS中运行的Web应用程序的副本。第三个是办公室里的普通计算机。
在dev机器上,针对自己的localhost开发环境进行测试,这样可以正常运行,而cookie就是我所期望的。
在开发机器上,与服务器通信,它也可以正常工作。 cookie应该是它应该是等等。
第三台普通计算机,当我连接到服务器时,我有一个空cookie。不起作用!
但是在第三台普通计算机上,当我连接到开发机器时(我公开面对它进行测试),它运行正常并填充了cookie。
这三台机器都在完全独立的网络上。
这个问题并不局限于第三台机器,有许多机器,当它们与服务器通信时,cookie不起作用,但如果它们试图查看我的开发设置,它确实有效。即使是陌生人,也时不时地工作,但非常不一致。会有什么想法导致这个?
答案 0 :(得分:0)
要检查的事项
您可以使用Fiddler来了解您是否可以更深入地了解这一点。