为什么我的vb.net http cookie无法在IE中写入(仅适用于我的FireFox)

时间:2012-06-14 22:58:39

标签: internet-explorer iis cookies save

我的vb.net代码写入一个cookie值,然后检索它。

编写cookie的代码是:

Dim cookie As HttpCookie = New HttpCookie("mySessionID", mySessionID)
cookie.Expires = DateTime.Now.AddDays(90)
cookie.HttpOnly = True
Response.Cookies.Add(cookie)

以及在后续页面上阅读的代码:

Dim myRetrivedSessionID as String = Request.Cookies("mySessionID").Value

当代码在FireFox中运行时运行良好,但在IE8 (或IE7)中运行时“Request.Cookies(”mySessionID“)。值”总是抛出异常 “对象引用未设置为对象的实例。” ,我解释为意味着它无法找到要加载的已保存值?

知道为什么我失败了吗? 更重要的是,我该如何解决它!

感谢您的帮助,我几天来一直在反对这个问题。

1 个答案:

答案 0 :(得分:0)

我想我发现问题导致了我的问题。

事实证明,IIS,IE和名称中包含下划线“_”的服务器名称的组合会导致某些问题,导致Cookie无法正常运行。

我终于对这个问题喋喋不休:Thread: missing sessionid with iis 64 bit isapi_redirect.dll jboss and MSIE

In is it said:

  

我们案例中的问题是URL中的下划线。 IE7不接受它,但是如果服务器名称的一部分有下划线,则不被所有其他浏览器接受。 (server_1是nok,server-1没问题)

     

rgrds

当我在没有名称下划线的服务器上测试时,在同一个浏览器上,一切正常。