これは、 Asp.net Static Variable Life time Across Refresh および PostBackの重複の可能性がありますが、私のクエリは少し異なります。
default.aspxというページを持つWebアプリケーションがあります。静的コンストラクターと静的プロパティ「MyProperty」を持つパブリック静的クラス「MyClass」があります。このクラスは default.aspx.cs クラスの外部にあります。
静的クラスのプロパティは、ページの読み込み時とボタンのクリック時に割り当てられます。
これで、クラスのプロパティが呼び出されるか割り当てられるたびに、型の静的コンストラクターが一度だけ呼び出されることがわかりました。これはあたりAppDomain
です。その後、静的コンストラクターが呼び出されることはありません。
また、アプリ ドメインは、プロセス内にロードされた一連のアセンブリ間の分離レイヤーを提供する .NET コンストラクトであることも知っています。
ここでの私の質問は
- 誰か
AppDomain
がasp.netに関して詳しく説明してもらえますか? 関連リンクも役に立ちます。 - ポストバックごとにページ オブジェクトが作成および破棄されることはわかっています。では、次のコードでは、ポストバックがあるたびに静的コンストラクターが呼び出されるのでしょうか?
静的コンストラクターにブレークポイントを保持して、コードのデバッグを試みました。ページが初めて読み込まれたときにブレークポイントにヒットしましたが、ボタンをクリックしたときにはヒットしませんでした。しかし、IIS でホストされている場合にこれが同じように機能するかどうかはわからないので、専門家の意見を得たい. ブラウザはIE10でした。
文の構成が正しくなかったり、何か間違ったことを述べていない場合はお知らせください。
前もって感謝します。
よろしく、
サマール
public static class MyClass { public static int MyProperty { get; set; } static MyClass() { } }
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
MyClass.MyProperty = 2;
}
protected void Button1_Click(object sender, EventArgs e)
{
MyClass.MyProperty = 1;
}
}