私はこれに何時間も費やしてきましたが、それは非常識です。
「setcookie」関数を含むページ基本クラスがあり、これは基本的に次のとおりです。
Dim context As HttpContext = System.Web.HttpContext.Current
If context.Request.Cookies(cookieName) Is Nothing Then
Dim cookie As HttpCookie
cookie.Value = cookieValue
cookie.Expires = DateTime.Now.AddDays(7)
context.Response.Cookies.Add(cookie)
Else
Dim cookie As HttpCookie = context.Request.Cookies(cookieName)
cookie.Expires = DateTime.Now.AddDays(7)
cookie.Value = cookieValue
End If
この関数は、単純なaspxページによって呼び出されます。これはテスト環境にあるため、使用しているCookieには以前の値「123」があります。デバッグおよび監視ウィンドウを使用すると、値が「168」に正常に変更されます。
次の行にデバッグブレークポイントがあります。
Response.Redirect("overview.aspx", False)
ブレークポイントがアクティブな場合、ウォッチウィンドウの値は次のとおりです。
currProjectID 168 Integer
HttpContext.Current.Request.Cookies("currProjectID").Value "168" String
(currProjectIDは、上記の関数を使用してCookieを取得/設定するベースページクラスのプロパティです)
次に、「F10」を使用して上記のブレークポイント行からステップオフし、変数の値を変更します。
HttpContext.Current.Request.Cookies("currProjectID").Value "123" String
currProjectID 123 Integer
これは正気じゃない!コードはどこにも行きません。デバッグポイントは上の「response.redirect」行のすぐ下にありますが、値はすぐに以前の値に変更されています。「setcookie」ルーチンの近くには何もありません。誰かが私の狂気を救って、何が悪いのか教えてください!?