NuGetパッケージを作成していますが、ターゲットWebサイトのGlobal.asaxを変更する方法があるかどうか疑問に思っていましたか?Application_Startに1行追加したいと思います(存在しない場合はGlobal.asaxを作成します)。これは可能ですか?更新はどのように機能しますか?
1899 次
1 に答える
11
推奨されるアプローチは、ホストアプリケーションのGlobal.asaxファイルを変更しないことです。代わりWebActivator
に、別のファイルを使用してプロジェクトに追加することができます。たとえば、Ninject.MVC3
まさにそれを実行するNuGetを見てください。
たとえば、NuGetをインストールするときに、次のファイルをプロジェクトに追加するだけです~/App_Start/MyNuGetAppStart.cs
。
[assembly: WebActivator.PreApplicationStartMethod(typeof(SomeNamespace.AppStart), "Start")]
namespace SomeNamespace
{
public static class AppStart
{
/// <summary>
/// Will run when the application is starting (same as Application_Start)
/// </summary>
public static void Start()
{
... put your initialization code here
}
}
}
これは、ユーザーがすでに微調整した可能性のあるGlobal.asaxファイルをいじるよりも、アプリケーションの起動時にカスタムコードを追加するためのはるかに目立たない方法です。
于 2013-03-01T23:42:27.520 に答える