ASPを解読する.NET 5&MVC 6シリーズチュートリアル(1):ASP.NET 5の概要

5580 ワード

ASP.NET 5の概要
ASP.NET 5は時代をまたぐ書き換えであり,すべての機能とモジュールを独立して分割し,徹底的にデカップリングした.これらの書き換えのために、マイクロソフトも必死で、ほとんど.NET Framwrokはすべて書き換えて、一つになった.NET Coreのもの.はい.NET Coreではすべて設定可能で、Session、MVCなどの機能が含まれていますが、すべての構成可能な機能はNugetでダウンロードできます.
現在ASP.NET 5は相変わらず古いものと互換性がある.NET Framwrokですが、プラットフォーム間での導入は、新しい改版しか使用できません.NET Core CLR.
現在のASP.NET 5には、6つのサブプロジェクトDependencyInjection、EntityFramework、Identity、KRuntime、MVC、SignalR Serverが含まれています.各プロジェクトの説明は以下の通りです.
DependencyInjection-基本的な依存注入管理とデフォルト実装EntityFramework-データアクセスORMフレームワークIdentity-ユーザー認証システムKRuntime-コアランタイム、プロジェクトシステム、ローダMVC-MVCフレームワークを持ち、MVC、Web API、Web Pages機能SignalR-Server-リアルタイムインタラクティブサービスを統合
ASP.NET 5のすべてのサブプロジェクトのオープンソースコードはhttps://github.com/aspnet/で行ないます.
ASP.NETバージョン番号解釈
5
新版のASP.NETはASPと呼ぶ.NET 5は、MVCアーキテクチャを用いてWebアプリケーションを開発するフレームワークであり、RESTfulサービスを開発する機能も提供している.また、次のバージョンでは、このフレームワークはSignalRを使用してリアルタイムアプリケーションを構築することもできます.注意、ASP.NET 5にはWeb Formの開発フレームワークは含まれていません.
5もそうです.NET frameworkの新しいバージョンのバージョン番号は、Core 50とも呼ばれます.NET Core..NET CoreはNETのリビルドバージョンは、既存のフレームワークで最小化された機能セットのみが保持され、他の特性や機能についてはnugetダウンロードでプラグインとして実行できます.これは、さまざまなクラウド環境で独立した導入に使用できることを意味します.また、マイクロソフトはプラットフォームをまたいで提供します.NET Coreは、ASP.NETプログラムはMacとUnix/Liunxサーバに配備されています.また.NET Coreフレームワークは、プログラムとともにパッケージ化することで、同じサーバ上で異なるバージョンを使用することができる.NET Core.
また、注意しなければならない.NET Coreは、Web Form、Windows Form、WPF、WCF、Silverlight、Systemを含む.Drawing、Datableなどの機能.つまり、もしあなたのプログラムがSystemを使用する必要があるならば.Drawingでサムネイルを作ると、それは使えません.似たようなツールセットはNugetパッケージでしかダウンロードできません.ツールで現在のプログラムとを検索できます.NET Coreの互換性ツールセット.
4.5.2
4.5.2は現在である.NET frameworkフル機能版のバージョン番号.このバージョンを使用できます.NETでASPを実行する.NET 5、さらには4.5.1バージョンで、このバージョンを使用すると、全体を使用することができます.NETシステムのすべての機能は、プラットフォームをまたぐことはできません.
4.6
4.6はい.NET framework全機能版の次のバージョン番号も.NET Coreの次のバージョン番号.ASPをNET 5アプリケーションが実行する.NET 4.6では、実行する.NET 4.6のASP.NETプログラムは互換性がない可能性がある.NET Core.次のバージョンのASP.NET Web Formsも4.6で、非同期モデルバインディング、HTTP 2、Roselynコンパイラの使用を開始するなど、いくつかの強化機能が含まれます.既存のASP.NETプログラム(Web Forms、MVC 5およびそれ以前のバージョン、Web Pages)は、何の変更もなしに実行することができる.NET 4.6上.
6
ASP.NET 5のMVC、Web API、Web Pagesの3つのフレームワークが1つのフレームワークに統合され、総称してMVC 6と呼ばれる.このマージ作業では、MVCとWeb APIの2つのControllerが1つだけ保持されるなど、3つのフレームワークで重複する機能が削除されます.しかし、従来のMVCの機能は、モデルバインドなどの保持されています.ただし、Web PagesはRTM時には配信されず、RTM以降の初回更新で配信されるという.
MVC 6はいくつかの新しい機能を導入し、最も注目されている機能はTag HelpersとView Componentsである.Tag HelpersはHtml Helpersの置換であり、View ComponentsはWeb FormsのWebControlのような概念を導入している.
たとえば、元のビューモデル定義は次のようになります.

@using (Html.BeginForm("Register", "Account", FormMethod.Post, new { @class = "form-horizontal", role = "form" }))
{
 @Html.AntiForgeryToken()
 

Create a new account.


@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.LabelFor(m => m.UserName, new { @class = "col-md-2 control-label" })
@Html.TextBoxFor(m => m.UserName, new { @class = "form-control" })

新しいMVC 6では、Tag Helperを使用して定義できます.


Create a new account.


これでは、通常のHTML構造が見られるので、フロントエンド開発者にとって非常に便利になります.
View ComponentsはChild Actionの問題を解決しました.例えば、多くの場合、私たちはHtmlを通じています.Actionは、メニュー、ラベル機能を実現します.以下に、View Componentの例を示します.

 public class GreetingViewComponent : ViewComponent
 {
  public IViewComponentResult Invoke()
  {
   var greeting = "Good Morning!";
   if (DateTime.Now.Hour > 12)
   {
    greeting = "Good Afternoon!";
   }
   if (DateTime.Now.Hour > 17)
   {
    greeting = "Good Evening!";
   }
   return View("Index", greeting);
  }
 }

このビューコンポーネント(view component)も応答するビューファイルを必要とします.例は以下のとおりです.

@model string

@Model


コードを呼び出すには権限を使用するComponentが必要です.Invokeメソッドの例は次のとおりです.

@Component.Invoke("Greeting")

もう一つInvokeAsyncメソッドは、非同期呼び出しに使用できます.ビューコンポーネントの詳細な使い方については、ビューコンポーネントの章を参照してください.
7
7はEntity Frameworkの次のバージョンです.ASPには属しませんが.NET 5の一部ですが、大きな関係があります.EF 7はASPとNET 5のRTMバージョンとともにリリースされ、延期になる可能性がありますが、少なくともその時点で1つは可能です.NET Coreで実行される基本ORMパッケージ.遅延ロード、継承マッピングを含まず、SQLサーバにのみ適用されます.プラットフォームをまたいでMVC 6プログラムを実行しなければ、あなたは.NET 4.5.2または4.6でEF 6,ASPを引き続き使用する.NET 5とMVC 6の10大新しい変化
新版ASP.NET 5とMVC 6では、多くの変化があり、徹底的な変化があります.例えば、最下層で注入技術に依存することをサポートしています.理解を容易にするために、ここでは最も重要な10の変化をリストして、学習を行います.具体的には以下の通りです.
    ASP.NET 5は現在、MacとLinuxで実行できるプラットフォームにまたがっています.Web Formsフレームワークはなくなりました.C#のみをサポートし、VBをサポートしていません.NETです.新しいTag文法、@Html.LabelForまたはHtml.TextBoxは、モデルバインドのために新しい構文または構文に置き換えられます.新しいビューコンポーネント(View Component)は、ローカルコンテンツを個別のコンポーネントとして定義して呼び出すことができ、Web FormsのWebControlによく似ています.先端技術を抱擁し、Nodejs、NPM、Grunt、Bower技術を内蔵.モデル統合はMVCとWebAPIを一つのフレームワークに統合する.AngularJSをサポートし、AngularJSのmodule、controller、directive、factoryテンプレートを内蔵しています.注入依存技術をサポートし、オリジナルのDIフレームワークを持ち、サードパーティ製容器もサポートする.xUnitをサポートNetは、Visual Studio Unit Testingフレームワークを放棄しました.
IDE
VS 2015:VS 2015はもちろん、依然として大きく、現在はNodejs、Pythonの開発だけでなく、AndroidとiOSの開発もサポートしています.Visual Studio Code:MacまたはLinuxオペレーティングシステムでもC#プログラムを記述できるように、マイクロソフトはまたVisual Studio Code軽量レベルエディタを発表しました.上記のオペレーティングシステムを使用することができます.依然として高いですね.新しい機能と特性はSublime TextとBracketsを瞬時に秒殺します.詳細なアドレスは以下の通りです.https://code.visualstudio.com/.
参照先:http://stephenwalther.com/archive/2015/02/24/top-10-changes-in-asp-net-5-and-mvc-6