C# IE使用C时Cookie为空,但firefox不为空

C# IE使用C时Cookie为空,但firefox不为空,c#,asp.net,.net,C#,Asp.net,.net,我曾经用C和ASP编写过一个应用程序,现在我做了一个与cookies无关的小改动,它不是为IE创建cookies,而是为Firefox创建cookies 从my login.aspx: HttpCookie cLevel = new HttpCookie("Level"); cLevel.Value = consulta.retornarNivel(Login2.UserName, Login2.Password).ToString();

我曾经用C和ASP编写过一个应用程序,现在我做了一个与cookies无关的小改动,它不是为IE创建cookies,而是为Firefox创建cookies

从my login.aspx:

            HttpCookie cLevel = new HttpCookie("Level");
            cLevel.Value = consulta.retornarNivel(Login2.UserName, Login2.Password).ToString();
            cNivel.Expires = DateTime.Now.AddMinutes(30);
            cNivel.Domain = Request.Url.Host.ToString();
            HttpCookie cUser = new HttpCookie("User");
            cUser.Value = Login2.UserName;
            cUser.Expires = DateTime.Now.AddMinutes(30);
            cUser.Domain = Request.Url.Host.ToString();


            //create cookies..
            Response.Cookies.Add(cLevel);
            Response.Cookies.Add(cUser);

            //redirect to Services
            Response.Redirect("Services.aspx");
现在,对于my Services.aspx,在我的页面上有以下行:

    lbWelcome.Text = "Welcome" + Server.HtmlEncode(Request.Cookies["User"].Value);
IE上的这一行告诉我:对象引用未设置为对象的实例。 而在Firefox上,它可以完美地解析


什么会影响我的FF代码?

用服务器的时间设置cookies是最糟糕的方法。如果客户得到不同的时间,你认为会发生什么

你为什么还要费心设置域名?它自然对响应url有效,因此设置域本身可能是罪魁祸首-即可能没有很好地响应。您确定cookie没有被创建,但没有价值吗?也就是说,当您将Login2.UserName作为值分配给cookie时,您是否验证了它是否已填充?这将导致相同的错误-传递给HtmlEncode的Value属性将为null。cookie是在Login2_Authenticate事件上创建的,首先我检查它是否为空,以及它是否由SQL有效,然后它创建cookieOk,我做了前面提到的更改Tejs,编译后它仍然无法在生产服务器上工作。。。对于IE来说,好吧,这不是我的代码,而是服务器,它有另一个时区。