2015-12-12 | azovdevmeetup 2015 | asp.net 5 | Александр Шевнин
TRANSCRIPT
![Page 1: 2015-12-12 | AzovDevMeetup 2015 | ASP.NET 5 | Александр Шевнин](https://reader033.vdocuments.mx/reader033/viewer/2022042906/589f033b1a28ab06368b6a1b/html5/thumbnails/1.jpg)
ASP.NET 5
Александр Шевнин, Аркадия
![Page 2: 2015-12-12 | AzovDevMeetup 2015 | ASP.NET 5 | Александр Шевнин](https://reader033.vdocuments.mx/reader033/viewer/2022042906/589f033b1a28ab06368b6a1b/html5/thumbnails/2.jpg)
2
About myselfAlexander ShevninJSC “Arcadia Inc.”[email protected]
In Arcadia from 2012, last 2 years work mostly with ASP.NET, C#, AngularJS and TypeScript
![Page 3: 2015-12-12 | AzovDevMeetup 2015 | ASP.NET 5 | Александр Шевнин](https://reader033.vdocuments.mx/reader033/viewer/2022042906/589f033b1a28ab06368b6a1b/html5/thumbnails/3.jpg)
3
Web Development with Microsoft• ASP – Active Server Pages – 1996 – VBScript, Jscript
![Page 4: 2015-12-12 | AzovDevMeetup 2015 | ASP.NET 5 | Александр Шевнин](https://reader033.vdocuments.mx/reader033/viewer/2022042906/589f033b1a28ab06368b6a1b/html5/thumbnails/4.jpg)
4
Web Development with Microsoft• ASP – Active Server Pages – 1996 – VBScript, Jscript• XSP ( because everything cool starts with X) – prototype, written in Java
![Page 5: 2015-12-12 | AzovDevMeetup 2015 | ASP.NET 5 | Александр Шевнин](https://reader033.vdocuments.mx/reader033/viewer/2022042906/589f033b1a28ab06368b6a1b/html5/thumbnails/5.jpg)
5
Web Development with Microsoft• ASP – Active Server Pages – 1996 – VBScript, Jscript• XSP ( because everything cool starts with X) – prototype, written in Java • ASP.NET – 2002• ASP.NET MVC – 2007• ASP.NET MVC 3 – 2011 – Razor introduced• ASP.NET 5 RC – November 2015
![Page 6: 2015-12-12 | AzovDevMeetup 2015 | ASP.NET 5 | Александр Шевнин](https://reader033.vdocuments.mx/reader033/viewer/2022042906/589f033b1a28ab06368b6a1b/html5/thumbnails/6.jpg)
New stack• VS2015• ASP .NET 5 (ex-vNext)• MVC 6• .NET Core vs .NET Framework vs Mono• DNVM (.NET Version Manager)• DNX (.NET Execution Environment)• DNU (.NET Development Utilities)• Kestrel
![Page 7: 2015-12-12 | AzovDevMeetup 2015 | ASP.NET 5 | Александр Шевнин](https://reader033.vdocuments.mx/reader033/viewer/2022042906/589f033b1a28ab06368b6a1b/html5/thumbnails/7.jpg)
.NET Core• Primary goal: provide a single, modular, cross-platform version of .NET that works the
same across all platforms (Linux, Mac, iOS, Android)• Consists of:
• CoreFX (libraries)• CoreCLR (Microsoft.CoreCLR)
• Distributed via NuGet• Portable
![Page 8: 2015-12-12 | AzovDevMeetup 2015 | ASP.NET 5 | Александр Шевнин](https://reader033.vdocuments.mx/reader033/viewer/2022042906/589f033b1a28ab06368b6a1b/html5/thumbnails/8.jpg)
DNX (.NET Execution Environment)• New project.json• Can cross-compile for both .NET Framework and .NET Core
• Recommendation from ASP.NET team: target both frameworks
![Page 9: 2015-12-12 | AzovDevMeetup 2015 | ASP.NET 5 | Александр Шевнин](https://reader033.vdocuments.mx/reader033/viewer/2022042906/589f033b1a28ab06368b6a1b/html5/thumbnails/9.jpg)
DNX
![Page 10: 2015-12-12 | AzovDevMeetup 2015 | ASP.NET 5 | Александр Шевнин](https://reader033.vdocuments.mx/reader033/viewer/2022042906/589f033b1a28ab06368b6a1b/html5/thumbnails/10.jpg)
Hosting model• dnu build & dnu pack & dnu publish• It’s possible to publish on Docker host (Azure or custom)• Kestrel Web server (https://github.com/aspnet/KestrelHttpServer/), based on libuv• IIS
• Helios up to beta7 (Microsoft.AspNet.Server.IIS) – uses existing System.Web• Kestrel from beta8 through IIS HTTP Platform Handler (https://
github.com/aspnet/Announcements/issues/69
![Page 11: 2015-12-12 | AzovDevMeetup 2015 | ASP.NET 5 | Александр Шевнин](https://reader033.vdocuments.mx/reader033/viewer/2022042906/589f033b1a28ab06368b6a1b/html5/thumbnails/11.jpg)
11
HTTP Platform Handler
![Page 12: 2015-12-12 | AzovDevMeetup 2015 | ASP.NET 5 | Александр Шевнин](https://reader033.vdocuments.mx/reader033/viewer/2022042906/589f033b1a28ab06368b6a1b/html5/thumbnails/12.jpg)
12
Benefits/Consequences of Kestrel• IIS 7.5 at least (Win7)• Eases development for Microsoft• IIS AppPool does not need to run any managed code• No need in Windows Server• Existing modules still can run in IIS alongside the HttpPlatformHandler• No web.config (only app.config)• Unified servicing and boot-up• Integration with existing modules might be HARD
![Page 13: 2015-12-12 | AzovDevMeetup 2015 | ASP.NET 5 | Александр Шевнин](https://reader033.vdocuments.mx/reader033/viewer/2022042906/589f033b1a28ab06368b6a1b/html5/thumbnails/13.jpg)
Client-Side Development• Gulp, Grunt support• Bower, npm support• Yeoman templates
![Page 14: 2015-12-12 | AzovDevMeetup 2015 | ASP.NET 5 | Александр Шевнин](https://reader033.vdocuments.mx/reader033/viewer/2022042906/589f033b1a28ab06368b6a1b/html5/thumbnails/14.jpg)
RIP• No more Web Forms• HttpHandler-related features: e.g. Bundles• MVC – WebAPI separation • NuGet install.ps1/uninstall.ps1/content https://github.com/NuGet/Home/issues/627 • System.Web.HttpContext and so on
![Page 15: 2015-12-12 | AzovDevMeetup 2015 | ASP.NET 5 | Александр Шевнин](https://reader033.vdocuments.mx/reader033/viewer/2022042906/589f033b1a28ab06368b6a1b/html5/thumbnails/15.jpg)
Startup• Startup class – entry point
![Page 16: 2015-12-12 | AzovDevMeetup 2015 | ASP.NET 5 | Александр Шевнин](https://reader033.vdocuments.mx/reader033/viewer/2022042906/589f033b1a28ab06368b6a1b/html5/thumbnails/16.jpg)
Owin
![Page 17: 2015-12-12 | AzovDevMeetup 2015 | ASP.NET 5 | Александр Шевнин](https://reader033.vdocuments.mx/reader033/viewer/2022042906/589f033b1a28ab06368b6a1b/html5/thumbnails/17.jpg)
17
Owin Middleware
![Page 18: 2015-12-12 | AzovDevMeetup 2015 | ASP.NET 5 | Александр Шевнин](https://reader033.vdocuments.mx/reader033/viewer/2022042906/589f033b1a28ab06368b6a1b/html5/thumbnails/18.jpg)
Dependency Inversion• Both Dependency Injection and Service Locator support• Lifetimes:
• Transient• Scoped• Singleton• Instance
• Default implementation can be replaced with any other IoC container (e.g. Autofac)
![Page 19: 2015-12-12 | AzovDevMeetup 2015 | ASP.NET 5 | Александр Шевнин](https://reader033.vdocuments.mx/reader033/viewer/2022042906/589f033b1a28ab06368b6a1b/html5/thumbnails/19.jpg)
19
Tag Helpers• Replacement of HTML Helpers• Can be used as:
• Can be asynchronous
![Page 20: 2015-12-12 | AzovDevMeetup 2015 | ASP.NET 5 | Александр Шевнин](https://reader033.vdocuments.mx/reader033/viewer/2022042906/589f033b1a28ab06368b6a1b/html5/thumbnails/20.jpg)
Tag Helpers
![Page 21: 2015-12-12 | AzovDevMeetup 2015 | ASP.NET 5 | Александр Шевнин](https://reader033.vdocuments.mx/reader033/viewer/2022042906/589f033b1a28ab06368b6a1b/html5/thumbnails/21.jpg)
Html.Action -> View Components
![Page 22: 2015-12-12 | AzovDevMeetup 2015 | ASP.NET 5 | Александр Шевнин](https://reader033.vdocuments.mx/reader033/viewer/2022042906/589f033b1a28ab06368b6a1b/html5/thumbnails/22.jpg)
22
Html.Action -> View Components
![Page 23: 2015-12-12 | AzovDevMeetup 2015 | ASP.NET 5 | Александр Шевнин](https://reader033.vdocuments.mx/reader033/viewer/2022042906/589f033b1a28ab06368b6a1b/html5/thumbnails/23.jpg)
xUnit.net
![Page 24: 2015-12-12 | AzovDevMeetup 2015 | ASP.NET 5 | Александр Шевнин](https://reader033.vdocuments.mx/reader033/viewer/2022042906/589f033b1a28ab06368b6a1b/html5/thumbnails/24.jpg)
Q & A