セッションを再起動する更新ボタンをクリックします。
protected void btnRefresh_Click(object sender, EventArgs e)
{
HttpContext.Current.Session.Abandon();
HttpCookie mycookie = new HttpCookie("ASP.NET_SessionId");
mycookie.Expires = DateTime.Now.AddDays(-1);
Response.Cookies.Add(mycookie);
LblSessionID.Text = HttpContext.Current.Session.SessionID+
" test btnRefresh_Click";
LblIsNewSession.Text = Session.IsNewSession.ToString();
}
ただし、ボタンがクリックされると、SessionID 値はLblSessionID
引き続き古い値を表示しますが、別のラベルLblIsNewSession
では IsNewSession に対して true として表示されます。次にLblSessionID
、SessionID が保持されている asp.net コントロール (ドロップダウンなど) を使用すると、実際の SessionID 値が反映さautopostback="true"
れます。
私はglobal.asaxを使用します
LblSessionID
次のポストバックが実際の値を反映し始めるのを待っている理由は何ですか?
Web アプリケーションを起動すると、問題は同じです。LblSessionID
異なる値を表示し、最初のポストバック後に変更し、そこから同じままです。