2012-04-24 9 views
0

C#とASPでアプリケーションを作成しましたが、今はCookieとは何の関係もなく、IEのCookieを作成していない小さな変更を加えました。 Firefox用です私のlogin.aspxのからCookieはC#を使用するIEではnullですが、Firefoxでは使用できません

  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"); 

が今私のServices.aspxのために、私をPage_Loadに、私はこの行を持っている:

lbWelcome.Text = "Welcome" + Server.HtmlEncode(Request.Cookies["User"].Value); 

IEのこの行は私を与える:オブジェクト参照が設定されていませんオブジェクトのインスタンスに渡します。 Firefox上では完全に解析されます。

FFで自分のコードに影響を与える可能性があるのは何ですか?

+0

なぜドメインを設定するのに気をつけますか?当然それは応答URLのために有効である、従ってドメイン自体を設定することは犯人かもしれない - IEはそれにうまく対応しないかもしれない。 – Tejs

+0

クッキーは作成されていませんが、価値はありませんか?つまり、Cookieの値としてLogin2.UserNameを設定したときにLogin2.UserNameが設定されていることを確認しましたか?その場合、同じエラーが発生します.HtmlEncodeに渡されるValueプロパティはnullになります。 –

+0

Login2_Authenticate()イベントでクッキーが作成されていますが、最初に空でないかどうかチェックし、SQLで有効であればクッキーを作成します。 – GlacialVoid

答えて

0

クッキーをサーバーの時刻に設定するのが最も悪い方法です。クライアントが別の時間を得た場合、それはどうなると思いますか?

関連する問題