2009-08-25 7 views
0

なぜこれが起こるのか分かりません。同じプログラムで私は働いているセッションを使用しています。今私は、ユーザーがクッキーを送信しないときに(私は簡単にすべき)私のサイトと互換性を持たせようとしています。私はセッションが動作しないように見える

long userId, loginId; 
//... 
//put data into cookies 
HttpContext.Current.Session.Add("userId", userId.ToString()); 
HttpContext.Current.Session.Add("loginId", loginId.ToString()); 

を書き、私はあれば

HttpContext.Current.Response.Redirect("someUrl");` 
+0

ここでは、この上のMSDNの記事ですか?あなたが正しく設定している "セッション状態"に "Cookie Settings"モードがありますか? –

+0

問題はなんですか?クライアントブラウザでCookieがオフになっている場合、そのセッションの状態はnullですか? – CSharpAtl

+1

クライアントがCookieを受け入れない場合、ポストバック時にセッション状態を取得するために使用する必要があるCookieに格納されているセッション状態のキーがあるため、SessionStateを使用できません。 – CSharpAtl

答えて

3

CSharpAtlことで、これを述べたようには設計によるものです:

ただし、セッションはこのクッキーレスに設定した場合、web.configファイルで動作するはずですが、それは、URLにセッションIDを追加します。使用しているIISのバージョン http://msdn.microsoft.com/en-us/library/aa479314.aspx

+0

+ 1..goodコールをリンクする時間がかかりました。 – CSharpAtl

+0

私は@CSharpAtlに間違いないと確信しています。 – klabranche

2

を呼び出して、セッションを設定した後、私は(作業と動作していない)、彼らはこの声明の中で、両方のケースで

var cookies = HttpContext.Current.Request.Cookies; 
long mUserId; 
string u, id; 
if (cookies["userId"] == null) 
{ 
    //these are null 
    u = (string)HttpContext.Current.Session["userId"]; 
    id = (string)HttpContext.Current.Session["loginId"]; 
} 

ヌルであることがわかりクライアントはCookieを受け入れません。ポストバック時にセッション状態を取得するために使用する必要があるCookieに格納されているセッション状態のキーがあるため、SessionStateは使用できません

+0

私はこの回答が気に入っていますが、klabrancheさんは、IDが見えなくても、 –

関連する問題