ASP.NET MVC Framework RC 版での変更点

先月 (2009.1) の 28 日に ASP.NET MVC Framework  のRC 版が公開されました。

今回の更新でも、さまざまな機能追加と細かな仕様の変更が行われているのですが、Bata 版から MVC Framework を使用している人たちを戸惑わせるのは、ViewPage にコードビハインドのファイルが無くなったことでしょう。

たとえば今まで、コントローラーのアクションから以下のように Generic 型のリストをビューに渡す場合

(コントローラー内のアクションメソッドでリストをビューにを渡すコード)

return View("Index", pubs.ToList());

ビュー側では、コードビハインドのコード内で、以下のようにクラスの属性を設定していました。

(ビューのコードビハインドファイル(*.aspx.cs)内のコード)

public partial class listView : ViewPage <List<Models.titles>> {

しかし、RC 版のアイテムテンプレートではコードビハインドは追加されませんので、aspx ファイル内で以下のように属性の追加を行う必要があります。

(ビューの aspx ファイルの先頭タグ)

<% @ Page Language="C#" AutoEventWireup="true" Inherits="ViewPage<List<MvcApplication1.Models.titles>>" %>

ちなみに Bata 時代に作成したコードビハインドに関しては RC でも問題なく動作しますのでご安心を(^_^;)

その他の注意点については以下のとおりです。

 

インストールについて

Beta 版の ASP.NET MVC Framework がインストールされている場合は必ずアンインストールを行ってから RC 版をインストールしてください。

アンインストールする際、msi ファイルから行うと、ファイルが残り、完全にアンインストールされない現象があるようですので、Windows の[コントロールパネル] 内にある、アプリケーションの削除機能を使用してください。

Beta 版のファイルが残っているとRC 版の新機能が使用できない場合があります。(※私も経験しました。結局 VS 2008 を入れ直しました。。トホホ)

また Visual Studio 2008 で以下のアドインが使用されていると、ASP.NET MVC Framework のインストールに失敗する場合があります。

・PowerCommands
・Clone Detective

ASP.NET MVC Framework のインストールに失敗する環境で、上記アドインが使用されている場合は、アドインをいったん取り除いてからインストール作業を行ってみてください。

その他、タイミングによっては Cryptograhpic (暗号化) サービスが原因でインストールに失敗する場合があります。

これが原因である場合は、イベントログに イベント ID 513 が記録されますので、Cryptograhpic サービスを再起動してから再度インストールを行ってみてください。

Visual Studio は、インストーラーの手順を実行中に問題を検出すると、インストールを停止しロールバックします。

また、コマンドから以下のコマンドでインストールを実行すると、MVC インストールプロセスのためのログファイルを作成することができます。

msiexec /i AspNetMVCRC-setup.msi /q /l*v mvc.log

 

拡張子 .mvc  の登録

以前のリリースでは、インストールプロセス中に自動的に拡張子 .mvc を IIS に登録していましたが、RC 版では自動的な登録は行われず、別途スクリプトファイルを使用する必要があります。

ただし、このスクリプトは、IIS 6 あるいは、クラシックモードの IIS7  で ASP.NET MVC を実行し、サイト内 で .mvc URLを使用したい人々のために用意されており、通常は必要ありません。

拡張子のマッピングに使用されるスクリプトファイルは以下の場所にインストールされます:

  %ProgramFiles%\Microsoft ASP.NET\ASP.NET MVC RC\Scripts

同フォルダ内のファイルの内訳は以下のとおりです。

・registermvc.wsf
⇒ IISに.mvc拡張子を登録して、aspnet_isapi.dllにそれを関連づけます。

・unregistermvc.wsf
⇒ IIS から拡張子 .mvc をアンレジストします。

・iismap.vbs
⇒ 他のスクリプトからコールされます。(このスクリプトを直接実行しないでください)

モジュールのマッピングを登録するには registermvc.wsf をコマンドプロンプトから管理者権限で実行します。

なお、ASP.NET MVC Framework をアンインストールする際、上記マッピングは自動では解除されませんので、unregistermvc.wsf を使用して解除するか、IIS マネージャーを使用してマッピングの解除を行ってください。

AS.NET MVC Framework の Beta から RC に行われたその他の変更点については、次回から実際にアプリケーションを作成しながらご紹介させていただこうと思います。

では。

Real Time Analytics

Clicky