BT

ASP.NET MVC 2における変更

| 作者: Jonathan Allen フォローする 594 人のフォロワー , 翻訳者 尾崎 義尚 フォローする 0 人のフォロワー 投稿日 2010年3月22日. 推定読書時間: 2 分 |

原文(投稿日:2010/03/18)へのリンク

数日前Scott Guthrie氏は、ASP.NET MVC 2の製品リリースをアナウンスした。それには、多くの機能といくつかの変更が含まれている。厳密なルールで比較すると、ASP.NET MVCにおける.NETのベースクラスライブラリの変更は、極めて少ないと言える。

最初は、IDataErrorInfo。この残念なドキュメント化されたインターフェイスは、.NETの最初から存在しているが、それの使い方が欠けている。ASP.NET MVC 1では、バリデーションエラーをチェックするためのプロパティのみであった。バージョン2では、すべてのプロパティがバリデーションサイクルの間チェックされ、エラーを少なくすることができる。また、プロパティレベルのバリデーションが失敗したとしても、クラスに渡るバリデーションは発生しなくなる。

Html.Substituteは、キャッシュされていない断面で使用されていたが、MVCビューエンジンでは、サポートされないように変更された。これは、部分キャッシュに依存するものは、そのデザインを再評価する必要があることを意味する。

IValueProviderは、すべてに使用するはるかに重いIDictionaryインターフェイスを置き換える。 ドキュメントによると「この変更は、カスタムバリュープロバイダーかカスタムモデルバインダーを含むアプリケーションにのみ影響を与える」

ヘルプメソッドは現在、通常の文字列の代わりにMvcHtmlStringを返す。これは、ASP.NETの新しいHTMLエンコーディングブロックシンタックスをサポートするために必要であった。クラシックASPとASP.NETの両方で開発者は、静的と動的なコンテンツをつなげるために <%= 表現 %> を使用した。残念ながらこれには、HTMLインジェクションエラーの可能性がある。ASP.NET 4では、開発者は新しい <%: 表現 %>を使うことができる。これは、すべての文字列を自動的にHTMLエンコードすることを保証する。もし、エンコードをしてほしくない場合は、IHtmlStringを返す必要がある。

DefaultControllerFactoryクラスへの要求一致は、Dependency Injectionを使用したカスタムコントローラファクトリが使用できるように変更された。

最後に “area”文字列は、URLルーティングの予約語として検討されている。これは、すでにMVC 2に追加されたエリア機能をサポートする。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT