AppInitialize() メソッドに関する貴重なドキュメントはほとんどありませんが、App_Code フォルダー内のクラスには次のようなメソッド シグネチャが含まれているという想定は正しいです。
public static void AppInitialize()
Asp.Net アプリケーションの起動時に呼び出されます。App_Code は Asp.Net にとって特別なフォルダーであり、その中のすべてが少し異なる方法で処理されることに注意してください。App_Code フォルダーのすべての小さな癖 (前述のような) に関するドキュメントを見つけてください。
ただし、AppInitialize() メソッドの署名を含めることができるクラスは 1 つだけであることに注意してください。そうしないと、実行時に次のようなコンパイラ エラーが発生します。
AppInitialize メソッドは、「App_Code.SomeClassOne」と「App_Code.SomeClassTwo」の両方で定義されています。
したがって、これは完全に有効ですが:
public class SomeClassOne
{
public static void AppInitialize()
{
HostingEnvironment.Cache["InitializationTimeOne"] = DateTime.Now;
}
}
これにより、上記のコンパイラ エラーが生成されます。
public class SomeClassOne
{
public static void AppInitialize()
{
HostingEnvironment.Cache["InitializationTimeOne"] = DateTime.Now;
}
}
public class SomeClassTwo
{
public static void AppInitialize()
{
HostingEnvironment.Cache["InitializationTimeTwo"] = DateTime.Now;
}
}
これで問題が少し解決することを願っています:)