マイクロソフトはASPを発表した.NET MVCフレームの4番目のプレビューバージョン
3145 ワード
1ヶ月に1つのバージョンをリリースする進度を維持し続け、マイクロソフトはASPをリリースした.NET MVCフレームワークのPreview 4バージョン.このバージョンでは、開発者の生産性の向上を支援するために、より多くのハイエンド機能が提供され始めました.
Scott Guthrieは彼のブログ記事「ASP.NET MVC Preview 4リリース(第1部)」でこのリリースを紹介し、いくつかの新しい特性も説明した.
デフォルトのプロジェクトテンプレートにAccountControlクラスが導入されており、次のユーザーの動作を操作できます.
登録登録登録パスワード変更ほとんどのアプリケーションがユーザーおよび検証に関与することを考慮すると、この機能は開発者に時間を節約します.デフォルトで設定されているMembershipProviderではSQL Serverクイックバージョンが使用されていますが、他のSQL Serverバージョン、または既存のデータベースを使用することもできます.
今回のリリースには、Authorization(ライセンス)とException(例外)Filterの2つの新しいタイプが含まれています.これらのFilterは、他のFilterの役割ドメインに関係なく、他のタイプのActionFilter(アクションフィルタ)の前に実行されます.
次の機能は、新しいタイプをサポートします.
IAuthorizationFilterとIExceptionFilterインタフェースを追加します.Authorization Filterは、他のAction Filterの前に実行することを保証します.あるFilterが要求中の例外を処理したとしても、Exception Filterは実行されます.この点は、例外のキャプチャと記録に非常に役立ちます.
AuthorizeAttributeクラス.これはIAuthorizationFilterの具体的な実装です.actionメソッドに保護を提供します.
HandleErrorAttributeクラス.これはIExceptionFilterのデフォルトの実装です.例外をキャプチャし、例外が発生したときに出力するビューを指定します.
OutPutCacheAttributeはASPを利用している.NETにおける堅牢なキャッシュメカニズムは,Actionメソッドのために出力キャッシュを実現した.
フレームワークには、AjaxOptionsクラスを使用して非同期操作を提供する新しいAJAXアシストメソッドが追加されています.
ActionLink-アクションメソッドを指すaラベルを生成します.このリンクをクリックすると、アクションメソッドが非同期で呼び出されます.1つの典型的な使用方法は、応答が得られた後に、AjaxOptionsを使用することができるDOM要素を更新することである.UpdateTargetIdプロパティで指定します.
Form-HTMLが非同期で送信されたフォームを生成します.一般的な使用方法は、フォームを非同期でコミットし、ActionLinkと同様に応答を得てAjaxOptionsを更新することです.UpdateTagetIdで指定したDOM要素.
Scott Hanselmanは彼のブログ記事でこれらの機能を実証する良い例を提供した.
このフレームワークの前のバージョンでControllerを検索する方法に問題が発生し、例外が発生することがあります.この問題は、ControllerBuilderクラスにDefaultNamespacesプロパティを導入することによって修正されました.以下に、この実装の例を示します.
新しいバージョンのフレームワークには、ITempDataProviderという新しいインタフェースが導入されています.これにより、ControllerはSessionStateTempDataProvider以外のProviderを使用できます.これにより、テスト性が向上し、開発者がセッションの状態ではなくcookiesを使用できるようになります.
ActionInvokerには、高度なシナリオでinvokerを拡張するために使用できるvirtualメソッドがいくつか追加されています.これらの新しい方法は次のとおりです.
GetFiltersForActionMethod-すべてのFilter(Authorization、Action、Expcetion Filter)を返します.
InvokeActionResultWithFilters-Actionメソッドが返すActionResultオブジェクトのExecuteReusltメソッドを呼び出し、すべてのFilterをActionメソッドに適用します.
InvokeAuthorizationFilters-Actionメソッドに適用されるすべてのAuthorization Filtersを実行します.
InvokeExceptionFilters-Actionメソッドに適用されるすべてのException Filtersを実行します.
このプレビューバージョンはCodePlexでダウンロードできます.Readmeファイルの内容と、CodePlexのすべての新しいプロパティの詳細の説明をよく読んでください.
Microsoft Releases ASP.NET MVC Framework Preview 4
Scott Guthrieは彼のブログ記事「ASP.NET MVC Preview 4リリース(第1部)」でこのリリースを紹介し、いくつかの新しい特性も説明した.
更新
デフォルトのプロジェクトテンプレートに追加された単純メンバーシッププロパティ
デフォルトのプロジェクトテンプレートにAccountControlクラスが導入されており、次のユーザーの動作を操作できます.
登録登録登録パスワード変更ほとんどのアプリケーションがユーザーおよび検証に関与することを考慮すると、この機能は開発者に時間を節約します.デフォルトで設定されているMembershipProviderではSQL Serverクイックバージョンが使用されていますが、他のSQL Serverバージョン、または既存のデータベースを使用することもできます.
新規承認および例外処理のFilter(フィルタ)タイプ
今回のリリースには、Authorization(ライセンス)とException(例外)Filterの2つの新しいタイプが含まれています.これらのFilterは、他のFilterの役割ドメインに関係なく、他のタイプのActionFilter(アクションフィルタ)の前に実行されます.
次の機能は、新しいタイプをサポートします.
IAuthorizationFilterとIExceptionFilterインタフェースを追加します.Authorization Filterは、他のAction Filterの前に実行することを保証します.あるFilterが要求中の例外を処理したとしても、Exception Filterは実行されます.この点は、例外のキャプチャと記録に非常に役立ちます.
AuthorizeAttributeクラス.これはIAuthorizationFilterの具体的な実装です.actionメソッドに保護を提供します.
HandleErrorAttributeクラス.これはIExceptionFilterのデフォルトの実装です.例外をキャプチャし、例外が発生したときに出力するビューを指定します.
新しいOutput Cache Filter
OutPutCacheAttributeはASPを利用している.NETにおける堅牢なキャッシュメカニズムは,Actionメソッドのために出力キャッシュを実現した.
ASP.NET AJAXの変更
フレームワークには、AjaxOptionsクラスを使用して非同期操作を提供する新しいAJAXアシストメソッドが追加されています.
ActionLink-アクションメソッドを指すaラベルを生成します.このリンクをクリックすると、アクションメソッドが非同期で呼び出されます.1つの典型的な使用方法は、応答が得られた後に、AjaxOptionsを使用することができるDOM要素を更新することである.UpdateTargetIdプロパティで指定します.
Form-HTMLが非同期で送信されたフォームを生成します.一般的な使用方法は、フォームを非同期でコミットし、ActionLinkと同様に応答を得てAjaxOptionsを更新することです.UpdateTagetIdで指定したDOM要素.
Scott Hanselmanは彼のブログ記事でこれらの機能を実証する良い例を提供した.
Routesのネーミングスペース
このフレームワークの前のバージョンでControllerを検索する方法に問題が発生し、例外が発生することがあります.この問題は、ControllerBuilderクラスにDefaultNamespacesプロパティを導入することによって修正されました.以下に、この実装の例を示します.
Application_Start( sender, EventArgs e)
{
ControllerBuilder.Current.DefaultNamespaces.Add();
ControllerBuilder.Current.DefaultNamespaces.Add();
ControllerBuilder.Current.DefaultNamespaces.Add();
}
TempDataのテスト性を強化する新しいインタフェース
新しいバージョンのフレームワークには、ITempDataProviderという新しいインタフェースが導入されています.これにより、ControllerはSessionStateTempDataProvider以外のProviderを使用できます.これにより、テスト性が向上し、開発者がセッションの状態ではなくcookiesを使用できるようになります.
ActionInvokerの拡張性の向上
ActionInvokerには、高度なシナリオでinvokerを拡張するために使用できるvirtualメソッドがいくつか追加されています.これらの新しい方法は次のとおりです.
GetFiltersForActionMethod-すべてのFilter(Authorization、Action、Expcetion Filter)を返します.
InvokeActionResultWithFilters-Actionメソッドが返すActionResultオブジェクトのExecuteReusltメソッドを呼び出し、すべてのFilterをActionメソッドに適用します.
InvokeAuthorizationFilters-Actionメソッドに適用されるすべてのAuthorization Filtersを実行します.
InvokeExceptionFilters-Actionメソッドに適用されるすべてのException Filtersを実行します.
このプレビューバージョンはCodePlexでダウンロードできます.Readmeファイルの内容と、CodePlexのすべての新しいプロパティの詳細の説明をよく読んでください.
Microsoft Releases ASP.NET MVC Framework Preview 4