2012-03-12 9 views
2

ブートストラップクラスに関するいくつかの質問があります。私はASP.NET MVC 3を使用しています。Autofacを使用したASP.NET MVC3ブートストラップ

MVC3のブートストラップを使用してglobal.asaxファイルのコード量を減らすことは、まだ賢明ですか?

ルートの登録以外に、正確に何かを追加する必要がありますか?サイト全体の設定(データベースからロード)をロードする場合は、ここで行いますか?この場合は、これらの設定を各コントローラに注入する必要がありますか?ブートストラップに入っている場合、これらの値はどのように保持されますか?

私は自分のブートストラップでAutofacを使用する方法に関するコードや記事を探しています。私はNinjectだけ見つけることができます。誰かが私のためにいくつかのコードや記事を持っていますか?

私はこれらの2件の良い記事が見つかりました:私はのような何かを達成しようとしています

  1. http://www.dominicpettifer.co.uk/Blog/42/put-an-ioc-powered-bootstrapper-in-your-asp-net-mvc-application
  2. http://weblogs.asp.net/rashid/archive/2009/02/17/use-bootstrapper-in-your-asp-net-mvc-application-and-reduce-code-smell.aspx

を:

protected void Application_Start() 
{ 
    Bootstrapper.Run(); 
} 
+0

autofac wikiにはMVC 3に関する情報があります。http://code.google.com/p/autofac/wiki/Mvc3Integration –

答えて

1

はにそれがまだ賢明ですブートストラップを使うMVC3でglobal.asaxファイルのコード量を減らすには?

私はすべてのWebアプリケーションでブートストラップ(実際には特定の順序で実行されるさまざまな起動タスク)を使用しています。私は、これらのタスクに、ルートとグローバルフィルタから、DIコンテナのセットアップ、dbからの設定の読み込み(DIコンテナの設定後)など、セットアップが必要なすべての作業を行います。

基本的には、global.asax.cs Application_Startnowに入れることができるすべてのものがStart Upディレクトリにタスクとして存在し、各タスクはスタートアップタスクとしてマークされた単純なクラスです(私自身のツールキットを使用しています) 。ブートストラップの利点は、それらのタスクの容易な利益であり、IoCコンテナとの暗黙的な接続はありませんが、コンテナの設定は、通常、アプリケーションの起動時に実行されるものです。

私は(データベースからロード)サイト全体の設定をロードしたい場合は、私がここに

設定が静的であるか、アプリを構成するために必要な場合にのみ、というんです。それは設定のタイプとアプリのタイプによってかなり異なります。はっきりと明確な答えはありません。

このような場合は、私は、各コントローラ

に、これらの設定を注入する必要がありますあなたは、コントローラの設定を注入していない、あなたはの依存性を注入し、それは、IoCコンテナの仕事です。

ブートストラップに入れた場合、これらの値はどのように保持されますか?

ブートストラップは、アプリの起動時に一度だけ使用され、アプリを設定するために使用されます。値を保持すべきではありません。設定について考えているかもしれませんが、ブートストラッパーがそれらをロードしても、それらの設定は別の場所、通常はキャッシュに保管されます。

+0

ここでの設定は、顧客設定を行うこと、顧客がこれを行うことができること、そして顧客がそれを行うことができること、電子メールなど –

+0

DIコンテナを設定した後に設定を読み込む際にいくつかのコードがありますか? –

+0

顧客設定には、複数の顧客が同時にサーバーであるWEBアプリケーションであるため、ブートストラップの場所がありません。これらの設定は各要求にロードされます。設定をロードするためのコードをすべてのアプリに固有のものとして提供することはできません。 – MikeSW

関連する問題