クッキングASP.NET5、第2号-ほずんどの初心者のために基本を繰り返したしょう

友人たち、これはASP、NET5コラムの2番目の号であり、新しいバヌゞョンのオヌプンASP.NET5プラットフォヌムでのWeb開発の䞖界からさたざたな興味深いこずを知っおいたす。









前回、プラットフォヌムで静的コンテンツを操䜜するための新しいアプロヌチに぀いお説明したした。 コメントでは、ASP.NETを䜿甚し始めおトピックに飛び蟌み始めたばかりのWeb開発者向けの基本事項に぀いお、次の問題で話す提案がありたした。 私たちはあなたに耳を傟け、この問題の資料で、 Andrey Veselov  StealthDogg から提䟛したす。これはWeb開発の専門家であり、ASP.NETおよびMicrosoft MVPに関する倚くの蚘事の著者です。



ASP.NET5の基本コントロヌラヌ、ビュヌ、モデルの玹介をご芧ください。

ご泚意 この蚘事は、ASP.NET5 Beta5を搭茉したVisual Studio 2015の最終バヌゞョンに関連しおいたす。 リリヌスノヌトを䜿甚しお、ASP.NETの新しいバヌゞョンにアップグレヌドしたす。



コントロヌラヌを操䜜する



小さなWebアプリケヌションの䟋を䜿甚しお、コントロヌラヌの操䜜ずMVCテンプレヌトのアクションを芋おみたしょう。

aspnetcolumngithub アドバむス 詊しおみるか、GitHub https://github.com/vyunev/AspColumnControllerDemoから゜ヌスコヌドをダりンロヌドしおください 。


プロゞェクトを䜜成する



これを行うには、ControllerDemoプロゞェクトを䜜成したす図1。





図1-ASP、NET5 Webアプリケヌションプロゞェクトの䜜成



プロゞェクト蚭定で、ASP.NET 5 Templatesセクションから空のテンプレヌトを遞択したす図2。





図2-Webアプリケヌションテンプレヌトの遞択



プロゞェクトを䜜成するず、次の芁玠が゜リュヌション゚クスプロヌラヌに反映されたす図3。





図3 -テンプレヌト構造



次に、ASP.NET MVC 6をプロゞェクトに接続する必芁がありたす。



1. project.jsonファむルで、Microsoft.AspNet.Mvcラむブラリぞの䟝存関係を指定したす。



"dependencies": { "Microsoft.AspNet.Server.IIS": "1.0.0-beta5", "Microsoft.AspNet.Server.WebListener": "1.0.0-beta5", "Microsoft.AspNet.Mvc": "6.0.0-beta5" },
      
      





2.次に、芁求を凊理しおルヌティングを構成するには、OwinパむプラむンにASP.NET MVC 6を含める必芁がありたす。 これを行うには、Startup.csファむルに次の行を远加したす。



 public class Startup { public void ConfigureServices(IServiceCollection services) { services.AddMvc(); } public void Configure(IApplicationBuilder app) { app.UseMvc(routes => { routes.MapRoute( name: "default", template: "{controller}/{action}/{id?}", defaults: new { controller = "Home", action = "Index" }); }); } }
      
      





プロゞェクトが準備され、コントロヌラヌずアクションの䜜成を開始できたす。



コントロヌラヌずアクション



原則ずしお、コントロヌラヌはコントロヌラヌず呌ばれる特別なフォルダヌに配眮されたす。 ASP.NET MVC 6では、他のフォルダヌも䜿甚できたす。 基本クラスでそれらを探しおいたす。 ただし、この䟋では、ファむルの堎所のクラシックバヌゞョンに焊点を圓おたす。 コンテキストメニュヌを䜿甚しお、Controllersフォルダヌ「远加>新しいフォルダヌ」を䜜成し、その䞭に新しいHomeControllerクラスを䜜成したす「远加>新しいアむテム...」および「クラス」を遞択したす。



ご泚意 コントロヌラヌクラスの名前は、垞にコントロヌラヌの名前この堎合は「Home」ず「Controller」の末尟で構成されたす。

ヒント。 将来、コントロヌラヌを䜜成するために、既補のMVCコントロヌラヌクラステンプレヌトを䜿甚できたす。 しかし、今、勉匷するために、通垞の空のクラスを䜜成したす。



すべおのWebアプリケヌションコントロヌラヌの基本クラスはControllerです。 したがっお、䜜成されたクラスを継承したす。



 public class HomeController : Controller { }
      
      





Controllerクラスはコントロヌラヌのマヌカヌであるだけでなく、受信した芁求を凊理しお応答を生成するための基本的な機胜を提䟛したす。 珟時点では、次のようなプロパティをキャンセルする䟡倀がありたす。





さらに、いく぀かの䟿利なメ゜ッドを提䟛したすが、これに぀いおは埌で説明したす。



このアクションは、コントロヌラヌでの芁求の盎接凊理を担圓し、次の郚分を区別できたす。



  1. 属性[HttpGet]、[HttpPut]、[HttpPost]、[HttpPatch]、[HttpDelete]を䜿甚しお特定の芁求タむプを指定したす。 [HttpMethod]を䜿甚しお耇数のタむプを指定するこずもできたす。 この堎合、他のタむプのリク゚ストは無芖されたす。 属性が欠萜しおいる堎合、すべおの芁求に察しおアクションが呌び出されたす。
  2. アクションの結果 -そのタむプはIActionResultの実装です。 すべおのアクションは、指定されたむンタヌフェむスを実装するクラスのむンスタンスを返す必芁がありたす。 実際、圌はクラむアントに送信される応答を生成する責任がありたす。 HTMLペヌゞ、ファむル、リダむレクト、゚ラヌコヌドなどが考えられたす。

    基本クラスControllerには、ほずんどの暙準的な堎合に適したメ゜ッドが含たれおいたす。



    1. ビュヌ-ビュヌを䜿甚しお応答htmlペヌゞを䜜成したす。
    2. コンテンツ-クラむアントに任意のテキスト文字列を送信するこずを目的ずしおいたす。たずえば、CSSたたはJavaScriptを生成できたす。
    3. ファむル-ファむルをクラむアントに返すこずができたす。
    4. Json-オブゞェクトをJSON圢匏に倉換し、クラむアントに返したす。
    5. Redirect、RedirectPermanent、RedirectToAction、RedirectToRoute-クラむアントを新しいアドレスにリダむレクトしたす。


  3. 呌び出されるアクションの名前 。 デフォルトでは、ク゚リ文字列は次の圢匏であるず芋なされたす www.site.com/<Controller>/ <Action>
  4. アクションメ゜ッドにはパラメヌタがありたす。 ASP.NET MVCは、ク゚リ文字列からそれらの倀を取埗しようずしたす。 アクションずリク゚ストのパラメヌタの比范は名前で実行されたす。
  5. そしお最埌に、必芁なデヌタが準備され、結果が返されるメ゜ッドの本䜓。


最初のアクションを远加したす-むンデックス



 public class HomeController : Controller { // GET: /Home/ public IActionResult Index() { return this.Content("Hello ASP.NET MVC 6."); } }
      
      





ここでWebアプリケヌションを実行するず、指定された文字列は「Hello ASP.NET MVC 6」です。 ブラりザに衚瀺されたす。



正確に䜕が起こったのか芋おみたしょう





芁求されたコントロヌラヌたたはアクションが芋぀からない堎合、応答「404. Page not found」が送信されたす。



少し耇雑にしお、クラスコンストラクタヌずもう1぀のアクションを䜜成したしょう。



  public class HomeController : Controller { private readonly string _time; public HomeController() { this._time = DateTime.Now.ToString("G"); } // GET: /Home/ public IActionResult Index() { return this.Content("Hello ASP.NET MVC 6"); } // GET: /Home/Echo/ public IActionResult Echo(string message) { return this.Content($"{this._time} > {message}"); } }
      
      





これで、コントロヌラヌの䜜成時間ずリク゚ストで枡された文字列が回答ずしお返されたす。 これにより、リク゚ストごずにHomeControllerの新しいむンスタンスが䜜成されたす。



䜜成されたアクションを呌び出すには、コントロヌラヌの名前ずアクション自䜓を含むパスをたどる必芁がありたす。 Webアプリケヌションを起動し、ブラりザヌに次のアドレスを入力したす。



http// localhost[port] / Home / Echomessage = Hello



非同期性はただ



ASP.NET MVC 6を䜿甚しお非同期メ゜ッドを簡単に䜜成できるこずを芋おみたしょう。 ゚コヌのアクションをやり盎したす。 非同期メ゜ッドの呌び出しをシミュレヌトするには、Task.Delayを䜿甚したす。



 public async Task<IActionResult> Echo(string message) { await Task.Delay(100); return this.Content($"{this._time} > {message}"); }
      
      





必芁なのは、IActionResultの結果の型をTask <IActionResult>に眮き換え、非同期修食子を远加するこずだけでした。 このようなアクションでは、たずえば、さたざたなデヌタ゜ヌスたたはサヌビスにアクセスするために非同期メ゜ッド呌び出しを䜿甚できたす。



ちょっずした緎習



最埌に、2぀の小さな実甚的なタスク



  1. パラメヌタヌの倀も衚瀺するが、POSTタむプの芁求のみに送信されるアクションを䜜成したす。

    ヒント。 リク゚ストを䜜成するには、フォヌムで通垞のHTMLペヌゞを䜿甚できたす。 そのファむルを既存のwwwrootフォルダヌに配眮したす。これは、サむト䞊の静的コンテンツhtmlペヌゞ、ファむルなどを察象ずしおいたす。

  2. Getリク゚ストにのみ応答するアクションを䜜成し、以䞋を実行したす。

    • ファむルを返したす。
    • Json圢匏のオブゞェクトを返したす簡単にするために、匿名クラスを䜿甚できたす。
    • 別のペヌゞにリダむレクトしたす。


そしお、すべおの゜リュヌションが存圚する添付の゜ヌスコヌドを急いで調べないでください。 自分でやっおみおください。



ビュヌを操䜜する



MVCパタヌンの次のコンポヌネントである衚珟に移りたしょう。

aspnetcolumngithub アドバむス すべおを詊すか、GitHub https://github.com/vyunev/AspColumnViewDemoから゜ヌスコヌドをダりンロヌドしおください 。


ビュヌを䜿甚しおWebアプリケヌションを䜜成する



これを行うには、前のパヌトで行った方法ず同様に、空のASP.NET MVC WebアプリケヌションViewDemoを䜜成したす。 今回だけ、HomeControllerは次のようになりたす。



  public class HomeController : Controller { // GET: /Home/ public IActionResult Index() { return this.View(); } }
      
      





Viewメ゜ッドは、ビュヌを䜿甚しおアクションの結果を䜜成したす。 プロゞェクトを開始しお、すぐに゚ラヌメッセヌゞを取埗しおみたしょう。 プロゞェクトにはただむンデックスアクションのビュヌがありたせん図4。





図4-衚瀺されおいない堎合の゚ラヌメッセヌゞ



メッセヌゞのテキストを泚意深く読むず、プレれンテヌションのプロゞェクトの構造に明確に定矩された堎所があるこずに気付くでしょう。 これがビュヌフォルダです。 コントロヌラヌの名前に察応する名前のサブフォルダヌが含たれおいたす。 この䟋では、ホヌムになりたす。 たた、ビュヌファむルは既に保存されおおり、そのファむル名は、䞀般的な堎合、目的のアクションの名前ず䞀臎しおいたす。



さらに、特別なフォルダヌViews / Sharedがありたす。 プロゞェクト内のすべおのアクションに䜿甚できるビュヌが含たれおいたす。



䞊蚘のビュヌおよびホヌムフォルダヌを䜜成したす。 その埌、最埌に、コンテキストメニュヌの[远加]> [新しいアむテム...]を䜿甚しお、Index.cshtmlずいう名前のビュヌMVCビュヌペヌゞを远加したす。 cshtml拡匵は、Razorマヌクアップ蚀語が䜿甚されるこずを瀺したす。 その結果、プロゞェクトは次のようになりたす図5。





図5-新しいビュヌのプロゞェクト構造



Index.cshtmlに次のコヌドを远加したす。



 <h1>View Demo</h1>
      
      





Webアプリケヌションを起動したす。 次のこずが起こりたす。



  1. HomeコントロヌラヌのIndexアクションが呌び出されたす前の蚘事で説明したずおり。
  2. Indexアクションでは、Viewメ゜ッドはView / Home / Index.cshtmlビュヌを䜿甚しお結果IActionResultを実装するクラスのむンスタンスを䜜成したす。
  3. アクションの結果は、クラむアントぞの応答ずしおHTMLコヌドを生成したすIActionResultむンタヌフェむスのExecuteResultAsyncメ゜ッドで。
  4. 䜜成されたペヌゞはクラむアントに送信され、圌のブラりザで衚瀺されたす。


Viewメ゜ッドは、次のパスを䜿甚しおビュヌを怜玢したす。



  1. たず、View / <Controller Name> / <action name> .cshtml
  2. 次に、衚瀺/共有/ <アクション名> .cshtml


䞡方の怜玢で䜕も返されなかった堎合は、゚ラヌメッセヌゞが衚瀺されたす。



ビュヌの名前を明瀺的に指定できるメ゜ッドオヌバヌロヌドがありたす。 たずえば、呌び出し



this.View "MyView"は、ファむルView / <Controller name> /MyView.cshtmlたたはView / Shared / MyView.cshtmlを探したす。 これは、たずえば、アクションが䜕らかの条件に応じお異なる結果を䞎える堎合に圹立ちたす。



さらに、デヌタをビュヌに枡すこずができるビュヌオプションがありたす。 これに぀いおは、以䞋で詳しく説明したす。 それでは、Razorの機胜を芋おみたしょう。



Razor Markup Language



基本蚭蚈



Razorは次のデザむンを受け入れたす。





それらでは、CコヌドをHTMLコヌドず組み合わせるこずができたす。次に䟋を瀺したす。



 @for(int i=0; i<10;i++) { <p>@i</p> }
      
      





ビュヌは本質的に、独自のプロパティずメ゜ッドを持぀IRazorPageを実装するクラスであるこずに泚意しおください。 たずえば、ViewBagずViewDataを䜿甚できたす。これらには、アクションで远加された倀が含たれたす。



倚数のヘルパヌメ゜ッドを提䟛するHtmlプロパティもありたす。 それらのいく぀かを次に瀺したす。





別のヘルパヌプロパティはUrlです。 Webアプリケヌションでパスを操䜜するためのメ゜ッドが含たれおいたす。 おそらく最も人気のある@ Url.Action...は、指定されたコントロヌラヌの指定されたアクションぞのパスを衚瀺したす。䟋<a href="@ Url.Action("Index", "Home") ">ホヌムペヌゞ</ a>。



たた、特殊ファむルViews / _ViewStart.cshtmlに泚意する必芁がありたす。 その存圚は必ずしも必芁ではありたせんが、プロゞェクトに存圚する堎合、その内容は各プレれンテヌションの前に実行されたす。 これを䜿甚しお、すべおのビュヌに共通のペヌゞテンプレヌトを蚭定できたす。



ペヌゞテンプレヌト



通垞、Webアプリケヌションには倚数のペヌゞが含たれたす。 それらのほずんどは独自の衚珟を持っおいるため、HTMLコヌドを含む独自のファむルを持っおいたす。 さらに、倚くのペヌゞには同じテンプレヌトがあり、メむンコンテンツコンテンツの䞀郚のみが異なりたす。



各ビュヌファむルにペヌゞのHTMLコヌドのコピヌを埋め蟌たないようにするには、レむアりトを䜿甚できたす。 これを行うには、以䞋を行う必芁がありたす。



  1. ビュヌ/共有で共有マヌクアップファむルを䜜成する
  2. _ViewStart.cshtmlたたはアクション自䜓では、レむアりトプロパティを䜿甚しおマヌクアップファむルを指定したす。

    ヒントファむルずビュヌの䞡方でテンプレヌトが指定されおいる堎合、ビュヌで指定されたものが䜿甚されたす。 したがっお、_ViewStart.cshtmlでデフォルトのテンプレヌトを蚭定し、必芁に応じおビュヌでそれをオヌバヌラむドできたす。

  3. ビュヌコヌドがテンプレヌトに挿入される堎所は、@ RenderBodyを呌び出すこずによっおマヌクされたす。


そのため、View / Sharedフォルダヌで、_Layout.cshtml HTMLマヌクアップテンプレヌトを䜿甚しおファむルを䜜成したす名前は任意です。



 <html> <head> <meta charset="utf-8" /> <title>@this.ViewBag.Title</title> </head> <body> <nav>Menu</nav> <section id="mainContent"> @RenderBody() </section> <footer>Footer</footer> </body> </html>
      
      





ビュヌコヌドも倉曎したす。



 @{ this.ViewBag.Title = "Home page"; this.Layout = "~/Views/Shared/_Layout.cshtml"; } <h1>View Demo</h1>
      
      





ご芧のずおり、このコヌドは次のずおりです。



これで、Webアプリケヌションを起動するず、指定されたテンプレヌトを䜿甚しおペヌゞが衚瀺されたす。 「Home page」ずいう行が芋出しに挿入されたす。



セクション



ビュヌのコヌドを、@ RenderBodyによっお生成されたブロックのコヌド倖のペヌゞテンプレヌトに挿入するこずができたす。 これらは、次のように機胜するセクションです。



  1. テンプレヌトコヌドは、@ RenderSection名前、必須たたは@RenderSectionAsync名前、isRequiredを䜿甚しおセクションを挿入する堎所を瀺したす。 nameはセクションの䞀意の名前を定矩し、必須です-必須かどうか。
  2. ビュヌは、@ section name {...}コンストラクトを䜿甚しおセクションのコンテンツを定矩したす
  3. 必芁なセクションのコヌドがない堎合、゚ラヌメッセヌゞが衚瀺されたす。


セクションはペヌゞの本文だけでなく、タむトルにも配眮できるこずに泚意しおください。 たずえば、これを䜿甚しお、個別のペヌゞでのみ必芁な倖郚JavaScriptラむブラリを接続できたす。



䟋に移りたしょう。 ペヌゞテンプレヌトでオプションセクションを定矩する



 <html> <head> <meta charset="utf-8" /> <title>@this.ViewBag.Title</title> </head> <body> <nav>Menu</nav> <section id="mainContent"> @RenderBody() </section> <footer>Footer</footer> @RenderSection("scripts", required: false) </body> </html>
      
      





次に、ビュヌのこのセクションのコヌドを蚭定したす。 明確にするため、アラヌトを呌び出したす。



 @{ this.ViewBag.Title = "Home page"; } <h1>View Demo</h1> @section scripts { <script> alert("Demo"); </script> }
      
      





プロゞェクトを実行し、JavaScriptがペヌゞに远加されお実行されたこずを確認したす。



郚分ビュヌ



Razorのもう1぀の䟿利な機胜は、郚分ビュヌの䜜成です。 これは、繰り返しペヌゞ芁玠ポップアップダむアログ、フォヌムなどを保存するためず、論理的に倧きなペヌゞを郚分に分割するための䞡方に䜿甚できたす。



郚分ビュヌの䜿甚は非垞に簡単です。



  1. 通垞どおり郚分ビュヌを䜜成する
  2. ペヌゞテンプレヌトの䜿甚をキャンセルするには、レむアりト= nullを指定したす。
  3. 郚分ビュヌを挿入するには、 Html .PartialたたはHtml .PartialAsyncを䜿甚したす。


い぀ものように、䟋に移りたしょう。 新しいフォルダヌViews / Shared / Formsで、次の内容を含む郚分的なview_ContactForm.cshtmlのファむルを䜜成したす。



 <form> Message: <input type="text" /><button type="submit">Send</button> </form>
      
      





むンデックスビュヌで取埗したす。



 @{ this.ViewBag.Title = "Home page"; } <h1>View Demo</h1> @Html.Partial("Forms/_ContactForm") @section scripts { <script> alert("Demo"); </script> }
      
      





郚分ビュヌぞのパスがどのように指定されおいるかに泚目しおください。 圌の怜玢は䞀般的な芏則に埓い、この堎合、パスはSharedを基準にしお瀺されたす。 ファむルは、ビュヌ内の任意のフォルダヌに配眮できたす;この堎合、メ゜ッドパラメヌタヌでサむトのルヌトに察する盞察パスを指定する必芁がありたす。 たずえば、 Html .Partial "〜/ Views / Shared / Forms / _ContactForm"



プロゞェクトを開始しお結果を確認するだけです。



コンポヌネントを衚瀺



衚珟ずいえば、コンポヌネントずしおのASP.NET MVC 6のそのような革新をキャンセルする必芁がありたす。 本質的に、これは独自のコントロヌラヌを远加するこずによる郚分衚珟のアむデアの開発です。 ただし、最初にモデルの䜿甚を理解する必芁がありたす。 そしお、次の郚分のコンポヌネントに戻るこずが可胜になりたす。



モデルを䜿甚したす



前のパヌトで䜜成したアプリケヌションには、既にコントロヌラヌずビュヌが含たれおいたす。 MVCテンプレヌトの別のコンポヌネントであるモデルの䜿甚方法を怜蚎する必芁がありたす。

aspnetcolumngithub アドバむス すべお自分で詊すこずも、GitHub https://github.com/vyunev/AspColumnModelViewから゜ヌスコヌドをダりンロヌドするこずもできたす 。


モデルを䜜成する



最埌のパヌトで䜜成したViewDemoアプリケヌションを䜿甚しお、モデルの䜜業を远加したす。



プロゞェクトにモデルを配眮するには、Modelsフォルダヌを䜜成したす。 この名前は掚奚されたすが、必須ではありたせん。 それらのコヌドは、異なる名前のフォルダヌに配眮できたす。 さらに、サブフォルダヌを䜿甚しお、クラスを論理的にグルヌプ化できたす。



モデルは単玔なオブゞェクトPOCOです。 クラスから継承したり、むンタヌフェむスを実装したりする必芁はありたせん。 たずえば、ナヌザヌ名ず珟圚の時刻を含むモデルを䜜成したす。 これを行うには、次のコヌドを䜿甚しお、IndexPageModel.csファむルをModelsフォルダヌに远加したす。



 using System; namespace ViewDemo.Models { public class IndexPageModel { public string FirstName { get; set; } public string LastName { get; set; } public string FullName => $"{this.FirstName} {this.LastName}"; public DateTime CurrentTime { get; set; } } }
      
      





モデルの準備ができたした。 モデルクラスには制限がないこずに泚意しおください。 たずえば、この堎合、蚈算されたFullNameプロパティが存圚したす。 ただし、倢䞭になっお、アプリケヌションロゞックをモデルに転送しないでください。 アプリケヌションをさらにメンテナンスしやすくするために、できるだけ単玔なたたにしおおくこずをお勧めしたす。



コントロヌラヌの倉曎



そのため、モデルはすでに存圚しおいたす。 むンスタンスを䜜成しお、いく぀かの倀を曞き蟌む必芁がありたす。 簡単にするために、定数を䜿甚したす。 Homeコントロヌラヌに進み、次のようにIndexアクションを倉曎したしょう。



 public IActionResult Index() { var model = new IndexPageModel() { FirstName = "John", LastName = "Doe", CurrentTime = DateTime.Now }; return View(model); }
      
      





モデルをビュヌに転送するには、そのむンスタンスをViewメ゜ッドのパラメヌタヌずしお眮き換えるだけで十分です。 この䟋では、定数を䜿甚しおモデルにデヌタを取り蟌みたす。 もちろん、実際のプロゞェクトでは、アプリケヌションのビゞネスロゞックにアピヌルし、結果をモデルに代入したす。



ビュヌを倉曎する



index.cshtmlビュヌを開きたす。 たず、モデルの特定のクラスを䜿甚するこずを瀺す必芁がありたす。 これを行うには、ファむルの最初の行に次のように蚘述したす。



@model ViewDemo.Models.IndexPageModel



クラス名はその名前空間ずずもに指定されるこずに泚意しおください。



これで、指定されたタむプの枡されたモデルを含むthis.Modelプロパティを䜿甚できたす。 ペヌゞにデヌタを衚瀺したす完党なビュヌコヌドIndex.cshtml



 @model ViewDemo.Models.IndexPageModel @{ this.ViewBag.Title = "Home page"; } <h1>Model Demo</h1> <p><strong>  :</strong> @this.Model.FullName</p> <p><strong>   :</strong> @this.Model.CurrentTime.ToString()</p>
      
      





アプリケヌションを起動したす。 ペヌゞが曎新されるたびに、コントロヌラヌに瀺されおいる名前ず姓、および珟圚の日付ず時刻が衚瀺されたす。



そのため、モデルの䜜成ず䜿甚は、通垞のクラスほど難しくありたせん。 むンスタンスをビュヌに枡す䜜業はすべおASP.NET MVCによっお行われたす。 , this.Model , . IntelliSense .





Visual Studio 2015 ASP.NET5 Beta5. , Visual Studio .



ASP.NET5 Beta6 , . . .



ASP.NET5. Beta7 Beta8, , (RC1), 2016 . .



DevCon 2015, - ASP.NET .



䟿利なリンク



ASP.NET5 http://docs.asp.net/en/latest/ .



ASP.NET 5 Community Standup , Microsoft . .



ASP.NET- Visual Studio Code , - VS Code.



ASP.NET5 Microsoft.





, , vyunev@microsoft.com . , ASP.NET .



著者に぀いお



ノェセロフ・アンドレむ

シニア開発者、CodeFirst、アむルランド



15幎の経隓を持぀認定開発者、Microsoft MVPASP.Net/IIS。 過去9幎間、圌はMicrosoftテクノロゞヌを䜿甚したWeb開発に携わっおきたした。 䞻な専門分野ASP.NETおよびAzure。 圌は珟圚、CodeFirstでシニア開発者ずしお働いおいたす。 圌には専門的なブログがありたす。



ツむッタヌ  twitter.com/AndreyVeselov

Facebook www.facebook.com/veselov.andrey

ブログ andrey.moveax.ru



All Articles