ASP.NET MVC 3

提供: MonoBook
移動: 案内検索

ASP.NET MVC 3とは、ASP.NET MVCの第三弾である。

MonoによるASP.NET MVC 3の動作は2012年3月時点では公式サポートされていないが、Windows上で作り、関連アセンブリ(DLL)ごと持って来ればほぼ動く。 現在ではXamarin StudioおよびMonoでも開発および利用できるようになっている。

インストール[編集]

Windows[編集]

ASP.NET MVC 3をVisual Studio 2010などで利用するには下記からダウンロードしてインストールする必要がある。

Mono[編集]


Monoでの動かし方[編集]

2012年3月27日時点、CentOS6での記録です。

事前にmod_monoの設定が完了していることが前提条件となる。 mod_monoの設定については「mod_mono#ASP.NET MVCを使うための設定」を参照。

ASP.NET MVC 3を使うにあたって、まだMonoでは提供されていないアセンブリ(DLL)があるので、binディレクトリにコピーしておく必要がある。

Visual Studio 2010を使っている場合は参照設定の各項目をクリックしてプロパティを表示すると「ローカルコピー」という項目があるので「True」に設定しておくとビルド時に自動でコピーされるので確実。参照設定の一覧にないアセンブリについては「参照の追加」より追加してローカルコピー設定を行う。

Mono公式サイトでは以下のファイルをコピーすればよいとなっている[1]

  • System.Web.Mvc.dll
  • System.Web.Razor.dll
  • System.Web.WebPages.Deployment.dll
  • System.Web.WebPages.dll

一方、Usa*Usa日記さんによる記録では若干項目が多い[2]。同じCentOS6ということで今回はこちらを採用したので公式設定は試していない。

  • System.Web.Helpers.dll
  • System.Web.Mvc.dll
  • System.Web.Razor.dll
  • System.Web.WebPages.Deployment.dll
  • System.Web.WebPages.dll
  • System.Web.WebPages.Razor.dll

主な変更点[編集]


ビュー[編集]

ビューエンジン[編集]

ビューを作る際にサードパーティー製を含む複数のビューエンジンが容易に選択可能となり、SparkNHamlNDjangoなども手軽に扱えるようになった。

また純正ビューエンジンんとしてRazorエンジンが搭載された。

コントローラー[編集]

グローバルフィルター[編集]

グローバルフィルターという機能が搭載され、すべてのアクションに一括でフィルターをかけれるようになった。 Visual Studio 2010でASP.NET MVC 3プロジェクトを新規作成するとルーティング設定などを記述するお馴染みのGlobal.asaxに下記のようなメソッドが追加されている。

public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
    filters.Add(new HandleErrorAttribute());
}

見ての通りfiltersにAddしてやればよい。

ViewModelプロパティ[編集]

従来のViewDataプロパティに加え、dynamic型のViewModelプロパティが追加された。 string型だったのがdynamic型になったからと言って特に大きな変化ではないが、ソースコードの見通しが良くなった。 なお、従来のViewDataプロパティも引き続き使える。

ActionResultの追加[編集]

ActionResultクラスを継承した便利クラスが追加された。

その他[編集]


関連項目[編集]

参考文献[編集]

  1. http://www.mono-project.com/Release_Notes_Mono_2.10#ASP.NET_MVC3_Support
  2. http://d.hatena.ne.jp/machi_pon/20110503/1304411747

外部リンク[編集]