[復刻版] 2016記事:チュートリアルの解釈ASP.NET 5&MVC6シリーズ(1):ASP.NET 5はじめに

通訳ASP.NET 5&チュートリアルのMVC6シリーズ(1):ASP.NET 5はじめに

 更新:2016年6月23日の11時38分00秒投稿者:アンクルトム     私はコメントしたいです

HTTPS:// www.jb51.net/article/87220.htmは

、それは良いサイトですjb51ました

 

ああスクリプトホームマイクロチャネル公共数(jb51net)毎週ギフト両手を見ます
この記事では、ASP.NET 5はじめに紹介し、さまざまなバージョン番号を説明し、新しい変更でASP.NET 5、困っている友達が参照できます。

ASP.NET 5はじめに

ASP.NET 5は、クロス年齢で完全デカップリングするように、すべての機能とモジュールは、独立した分割を行った書き換えます。これらの書き換えのために、Microsoftはまた、非常に、.NETのコアのものを形成し、ほぼすべての.NET Framwrokの書き換え再び、戦いです。すべてがセッション、MVCおよびその他の機能を含め、構成可能であり、かつすべての機能を設定可能であり、Nugetにダウンロードすることができます。.NETのコアで

現在、ASP.NET 5は、古い.NET Framwrokと互換性がありますが、クロスプラットフォームの展開中、または唯一の.NET CLRコアの新しいリビジョンを使用します。

現在のASP.NET 5は、依存性の注入、EntityFramework、アイデンティティ、KRuntime、MVC、SignalRサーバー、各項目の具体的な説明は、以下の6つのサブプロジェクトを含みます。

    依存性の注入-基本的な依存性注入の管理とデフォルトの実装を持ってい
    EntityFramework - ORMデータアクセスフレームワークの
    アイデンティティ-ユーザ認証システム
    KRuntimeを-コアランタイム、プロジェクトシステムローダー
    MVC - MVCを統合MVCフレームワーク、ウェブAPI、Webページ機能
    SignalR-サーバ-リアルタイムの双方向サービス

ASP.NET 5すべてのサブプロジェクトのオープンソースコードをすることができhttps://github.com/aspnet/に見つけました。

ASP.NETのバージョン番号の説明

5

ASP.NETの新バージョンは、ASP.NET 5と呼ばれる、それはRESTfulなサービス開発機能を提供し、Webアプリケーションを開発するためにMVCアーキテクチャを使用するためのフレームワークです。また、次のバージョンでは、フレームワークは、リアルタイム・アプリケーションを構築SignalRを使用することができます。注意、ASP.NET 5は、もはやウェブ開発フレームワークフォーム含まれていません。

図5はまた、.NETコアとして知らCore50という.NETフレームワークバージョンの新しいバージョンです。コアは、他の特徴および機能のオリジナルフレームの機能の最小限のセットを保持し、それはプラグとしてnuget実行してダウンロードすることができる.NET .NETの再構成されたバージョンです。これは、私たちが独立したクラウド展開の様々なためにそれを使用できることを意味します。さらに、Microsoftは、MacとUnix / LiunxサーバーにデプロイASP.NETアプリケーションを可能にするために、クロスプラットフォーム.NETのコアを提供します。さらに、.NET Frameworkのコアの展開、さらにプログラムをパッケージングすることができる、それは同じ.NETコア上のサーバの異なるバージョンを使用して実施することができます。

また、注意を払って、.NETのコアは、Webフォーム、Windowsフォーム、WPF、WCF、シルバー、System.Drawing、DATATABLE他の機能が含まれていません。それはあなたのプログラムが生成たSystem.Drawingサムネイルを使用する必要がある場合は、使用する方法はありません、です。同様のツールはNugetパッケージでダウンロードすることができます。あなたは、.NETのコアツールで設定された現在の互換性ツールと手順を見つけることができます。

4.5.2

4.5.2は、.NETフレームワークのバージョン番号の現在のフル機能を備えたバージョンです。あなたは、ASP.NET 5、さえ4.5.1バージョンを実行するには、このバージョンの.NETのこのバージョンを使用することができます、あなたは全体の.NETシステムのすべての機能を利用することができますが、クロスプラットフォームすることはできません。

4.6

NETフレームワーク4.6は、次のバージョン番号だけでなく、次のバージョン番号の.NETコアの完全に機能的なバージョンです。あなたは、ASP.NET 5つのアプリケーションは、.NET 4.6上で実行されているが、互換性のある.NETのコアではないかもしれない、.NET 4.6 ASP.NETアプリケーション上で動作することができます。ASP.NET Webフォームの次のバージョンは、結合、非同期モデルとして強化、HTTP2の数を含み、ロザリンコンパイラを使用して開始します4.6、です。ASP.NETアプリケーションの既存の(Webフォーム、MVC5および以前のバージョンを、Webページ)は、.NET 4.6で実行するように変更する必要はありません。

6

MVC、ウェブAPI、WebページにASP.NET 5の3つのフレームをまとめMVC6と呼ばれる、1つのフレームワークに統合されるであろう。合併は、このようなコントローラMVCとWeb APIは一つだけを保持している2種類の3つの機能の枠組みの中で重複した作業を削除します。しかし、伝統的なMVC機能は、このようなモデルが結合として、保持されています。しかし、WebページがRTM時間が公開されることはありませんと言われているが、RTM後の最初の更新で公開されます。

MVC6は最も顕著な特徴は、タグヘルパーとビューコンポーネントである、いくつかの新機能を紹介します。タグヘルパー代替のHTMLヘルパーで、ビューコンポーネントは、WebフォームにWebBrowserコントロールに導入された同様の概念です。

例えば、元のビューは、このモデルで定義されています。

1
2
3
4
5
6
7
8
9
10
11
12
@ using (Html.BeginForm( "Register" , "Account" , FormMethod.Post, new { @ class = "form-horizontal" , role = "form" }))
{
  @Html.AntiForgeryToken()
  <h4>Create a new account.</h4>
  <hr />
  @Html.ValidationSummary( true , "" , new { @ class = "text-danger" })
  <div class = "form-group" >
   @Html.LabelFor(m => m.UserName, new { @ class = "col-md-2 control-label" })
   <div class = "col-md-10" >
    @Html.TextBoxFor(m => m.UserName, new { @ class = "form-control" })
   </div>
  </div>

新バージョンMVC6では、我々は、ヘルパーが定義されているタグを使用することができます。

1
2
3
4
5
6
7
8
9
10
11
< form asp-controller = "Account" asp-action = "Register" method = "post" class = "form-horizontal" role = "form" >
  < h4 >Create a new account.</ h4 >
  < hr />
  < div asp-validation-summary = "ValidationSummary.ModelOnly" class = "text-danger" ></ div >
  < div class = "form-group" >
   < label asp-for = "UserName" class = "col-md-2 control-label" ></ label >
   < div class = "col-md-10" >
    < input asp-for = "UserName" class = "form-control" />
    < span asp-validation-for = "UserName" class = "text-danger" ></ span >
   </ div >
  </ div >

あなたがHTMLの正常な構造を見ることができるので、この場合、それは、フロントエンドの開発者にとっては非常に簡単です。

ビューコンポーネントの子アクションは、このような多くの時間などの問題を、解決します、我々はHtml.Actionにより、メニュー、ラベル機能を実現するためにあります。以下は、ビューコンポーネントの例です。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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);
  }
}

アセンブリビューファイルビュー(ビューコンポーネント)は、例えば、応答を必要とします。

1
2
@model string
<h3>@Model</h3>

コードを呼び出すと、例えば必要な権限Component.Invoke方法、次のとおりです。

1
2
3
<div>
  @Component.Invoke( "Greeting" )
</div>

非同期呼び出しのために使用することができるComponent.InvokeAsync方法もあります。ビューコンポーネントの詳細については、ビューコンポーネントの章を参照してください。

7

7是Entity Framework的下一个版本,虽然不属于ASP.NET 5的一部分,但有很大关系。EF7将和ASP.NET 5的RTM版本一起发布,虽然可能延期,但至少在那个时候会有一个可以在.NET Core上运行的基本ORM包,其不包括延迟加载、继承映射、并且只适应于SQL Server。如果不在跨平台上运行MVC6程序的话,你可以在.NET 4.5.2或4.6中继续使用EF6,
ASP.NET5和MVC6中的10大新变化

在新版ASP.NET5和MVC6中,有很多变化,有些是彻底的变化,比如在最底层支持依赖注入技术,为了方便了解,我们这里列出了最重要的10大变化,以便进行学习,具体如下:

    ASP.NET 5现在已经是跨平台了,可以在Mac和Linux上运行。
    不再有Web Forms框架了。
    只支持C#,不在支持VB.NET了。(貌似最近又听说最终版VB.NET又要支持了)
    新的Tag语法,@Html.LabelFor或Html.TextBoxFor替换成新语法<label asp-for="Name">或<input asp-for="Name" />,以便进行模型绑定。
    新增视图组件(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

VS2015:VS2015就不用说了,依然高大上,目前不仅支持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

 
 

おすすめ

転載: www.cnblogs.com/jinanxiaolaohu/p/10947648.html