4.6」には基本的に互換性がないという点だ。4.6は従来のASP.NETの後継であり、プロジェクト管理の方法も従来の形式を踏襲している。vNext)であり、これまでに進化と肥大を続けてきたASP.NETを一から作り直したものだ。5の大きな特徴である。5はDNX上で動作する。5は動作するということだ(上の図ではDNXは省略)。4.6をプラットフォームとする。4.6がどの程度サポートされるかによるだろう。monoにおけるASP.NETのサポートについては「Compatibility」ページを参照されたい)。5の特徴としては、以下のことが挙げられる。6に統合されるOWINの思想に近いミドルウエアによるリクエストパイプラインの採用IoCの全面的な採用ここで覚えておきたいのは「ミドルウエア」という用語だ。5では、Webサーバーが受け取ったリクエストは「リクエストパイプライン」を通過して、最終的なアプリへと届けられる。このパイプラインを通過する過程で、ユーザー認証やエラー発生時のフォールバックページの設定などを行える。6のようなフレームワークについても、それを使うには、ミドルウエアと同様な設定が必要になる。6アプリのStartupクラスのConfigureメソッドだ*2。ミドルウエアの設定はConfigureメソッドで行い、使用するものを「app.Use〜」のように「Use〜」拡張メソッドを使って追加していく。6(UseMvcメソッド)をリクエストパイプラインに追加していることが分かる。5アプリではStartupクラスのConfigureメソッドがそのエントリポイントとなっている。5ではIoCが全面的に採用されている」点だ。5ではアプリ中で使用する各種の「サービス」が、IoCを使用してアプリの各所で注入されるようになっている。これも以下に例を示す。アプリで使用する各種のサービスはStartupクラスのConfigureServicesメソッドで行う。6が依存するサービスがサービスコンテナーに追加されている。自分でサービスを作成して、これをサービスコンテナーに追加し、コードの中からそのサービスを利用することも可能だ。}}自作サービス例えば、上のようなサービスを作成し、これをConfigureServicesメソッドでサービスコンテナーに追加する(これをサービスというかどうかは別として)。});}サービスコンテナーへの自作サービスの追加このようにして作成したサービスは、それを使用する箇所で自動的にコンテナーからインジェクションされる。5の大きな特徴なので、ぜひ覚えておきたい。5」などを検索した際に、現在でもよく見られるのは「K」や「KRE」などの「K」で始まる以前の用語だろう。.NET)のマイクロソフト実装を意味するといわれている。5はOWINをそのままの形で実装しているわけではない。5ではOWINに則ったミドルウエアを動作させるための仕組みも用意されている。GitHubで公開されているMicrosoft.AspNet.OwinアセンブリのOwinExtensionsクラスを参照)。5とその実行環境であるDNXに関連する用語を見てきた。5についての理解も進むはずだ。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。