0

Global.asax ファイルから自動的にページが読み込まれるたびに変数を設定しようとしています。

私はこれを行うことができると思っていましApplication_BeginRequestたが、うまくいかないようです。

変数はデータベースから設定されます。基本的に、DB を非常にすばやく呼び出して、他に何かする必要があるかどうかを確認しています。今は詳細に入ることができませんが、これにはキャッシュを使用できません。

だから、私は多くのアイデアを試しましたが、どこにも行きませんでした.ここに私の心に最も論理的な2つがあります:

1: 変数の設定Application_BeginRequest

Public Class Global_asax
    Inherits System.Web.HttpApplication
    Shared Property MyVar as String
    Sub Application_BeginRequest(ByVal sender As Object, ByVal e As EventArgs)
        MyVar = CallToDatabase()
    End Sub
End Class

2: Global.asax ファイルの先頭に変数を設定します。

Public Class Global_asax
    Inherits System.Web.HttpApplication
    Shared Property MyVar as String = CallToDatabase()         
End Class

これら2つの問題のうち、これらは次のとおりです。

バージョン (1) は、変数をまったく設定していないようです。アクセスしようとすると、空の値が取得されます。

バージョン (2) は機能しますが、値はページの読み込み全体で静的です。つまり、別のページを更新したり移動したりしても、値が変更されるべきだとわかっていても、値は同じままです。

4

1 に答える 1

0

継承を使用できます。クラス (BasePage) を作成すると、すべてのページがこのベース ページを継承できます。ベース ページの Page_Load (または Pre_Init) に、DB チェックを入れます。これにより、一部のページをチェックできますが、すべてのページをチェックすることはできません (必要な場合)。

于 2013-09-27T19:36:58.780 に答える