OK、これについて他のテストを行ったところ、非常に奇妙な動作が発生しています....
モジュールが少なくとも1回読み込まれた場合、モジュール内の処理をスキップするフラグを実装しようとしました。このように HttpContext.Current.Items にフラグ var を配置するだけでこれを行いました。
Private Sub Application_PostAuthenticateRequest(ByVal source As Object, ByVal e As EventArgs)
' A flag to prevent multiple execution on each request for static files like images, css, js
If HttpContext.Current.Items("UserCheck") Is Nothing AndAlso _
DirectCast(HttpContext.Current.Items("UserCheck"), String) <> "1" Then
GlobalAppSettings.debug += 1
GlobalAppSettings.Debug は、httpmodules のデバッグ目的で使用する静的 (vb 共有) プロパティです。このコードを配置すると、ページが更新されるたびにデバッグ変数が +1 になるはずです (これは、Default.aspx の背後にあるコードの単純な Response.Write(GlobalAppSettings.debug) で確認します。これは、Application_PostAuthenticateRequest の最後にあるためです。メソッド HttpContext.Current.Items("UserCheck") = "1" を設定しました
では、各ページを更新するたびに GlobalAppSettings.debug 変数が 3 段階または 5 段階で増加するのはなぜでしょうか? 私を怒らせている