![]() |
連載:〜ScottGu氏のブログより〜クリーンなWeb.Configファイル(VS 2010&.NET 4.0シリーズ)Scott Guthrie 著/Chica 訳2009/08/28 |
|
|
|
これは、VS 2010および.NET 4リリースについて今後行っていく一連のブログ投稿の第1弾になります。
本日の投稿は、ご覧のとおり短いですが、ASP.NET 4.0のちょっとよい変更点だと思っている、クリーンで、簡単なweb.configファイルについてです。
Visual Studio 2010でファイル->新規プロジェクトを行うと、最初にこの改善点に出会うことができ、そして、空のASP.NET 4.0 Webアプリケーションが作成されます(このため、これが最初の投稿に適していると思いました)。
.NET 3.0および3.5のWeb.configファイル
過去数回のリリースでは、ASP.NETプロジェクトのweb.configファイルのサイズは着々と増加していました。例えば、Visual Studio 2008 SP1の新規Webプロジェクトに追加されるデフォルトのweb.configファイルは、現在126行ほどあり、タグの定義から、ASP.NET HTTPパイプラインに含まれているハンドラやモジュールの定義まで、すべてが含まれています。
このサイズの増加は、.NET 3.0および.NET 3.5が、.NET 2.0で出荷されたのと同じCLRやmachine.config構成ファイルを使用しており、インストールされたときに、フレームワークにアセンブリを単純に追加したり更新したりしているためです。マシン上にある元の2.0のmachine.config内でカスタマイズした設定を誤って上書きするリスクを避けるために、.NET 3.0および.NET 3.5の新しいASP.NETの機能に関連するタグの定義やハンドラ、モジュールは登録しませんでした。その代わり、新しいプロジェクト作成で、アプリケーションのローカルのweb.configファイル内にこれらの設定を登録することをデフォルトとしました。これだと安全ですが、web.configファイルのサイズが増加し、より複雑化して読みにくくなります。
.NET 4のWeb.configファイル
.NET 4には、CLRの新バージョンと.NET 4専用のmachine.configファイルが含まれています(これは、.NET 2、.NET 3、.NET 3.5が使用しているものとサイドバイサイドでインストールされます)。
この新しい.NET 4 machine.configファイルには、以下の機能を含む、これまで数年にわたり追加してきたすべてのASP.NETのタグ・セクション、ハンドラ、モジュールが登録されます。
- ASP.NET AJAX
- ASP.NET Dynamic Data
- ASP.NETルーティング(現在、ASP.NET WebフォームおよびASP.NET MVCの両方で使用できます)
- ASP.NETチャート・コントロール(ASP.NET V4にビルトインされて出荷されます)
つまり、“空のASP.NETアプリケーション”プロジェクトをVS 2010で作成すると、新しいデフォルトのアプリケーション・レベルのweb.configファイルが、クリーンかつシンプルになっていることが分かります。
![]() |
| 図1 |
上記の最初のconfigセクションは、アプリケーションに対してデフォルトでデバッグを有効にするようASP.NETに指定しており、また、Visual StudioがIntelliSenseを行うときにターゲットとする.NETのバージョンを示しています(VS 2010はマルチターゲットをサポートしており、IDEのIntelliSenseは、ターゲットにしているフレームワークのバージョンによって自動的に変化します)。
2つ目のconfigセクションは、IIS7でASP.NETアプリケーションが起動されたときに“統合”モードを使用するかどうかを示しています。これはASP.NETのHTTPモジュールをアプリケーション内のすべての要求に対して起動するか、もしくはASP.NETの特定のURLだけに対して起動するかを制御します。デフォルトでは、これが新しいアプリケーションのアプリケーション・レベルのweb.configファイルで有効となります。これは互換性の理由からで、マシン・レベルで登録されているIIS7のデフォルトの設定が(すべての要求に対してではなく)ASP.NETのURLに対してだけモジュールを起動させるためです。
まとめ
単純化された.NET 4のweb.configファイルというのは、明らかに小さい変更ですが、それでも私は優れたものだと思っており、新しいASP.NETアプリケーションを作成したときに、少しクリーンで、より接しやすいという体験が得られるものだと思っています。
今後の投稿では、ASP.NET 4でもたらされるもっと重要な改善点を(そしていくつかの“小さいけれども優れた調整点”についても)深く掘り下げていく予定です。
Hope this helps,
| 「〜ScottGu氏のブログより〜」 |
TechTargetジャパン
- 新人プログラマーのためのInsider.NETの歩き方 2012 (2012/5/22)
晴れて.NETプログラマーとなる新人が効率的に開発技術を習得するには? 大量にある記事群の中から新人が読むべきお勧めを厳選して紹介 - jQuery MobileでJavaScriptプログラミング (2012/5/17)
jQuery Mobileは手軽なだけでなく、JavaScriptのAPIも充実しており、独自機能の実装もできる。今回は「グローバル設定」と「イベント」を解説 - Windows上で開発するための開発環境構築入門 (2012/5/16)
Windowsを使ってチームで開発している? なのにサーバOSを設定・運用した経験がない? そうなら、今すぐ学ぼう - 「コントラクト」でアプリのサンドボックスを乗り越える! (2012/5/11)
Metroスタイル・アプリはサンドボックスの中で動作する。それを乗り越えてほかのアプリと連携する仕組み「コントラクト」を解説
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -



