net core and dnx
play

.NET Core and DNX Chrisitan Horsdal Horsdal Consult @chr_horsdal - PowerPoint PPT Presentation

.NET Core and DNX Chrisitan Horsdal Horsdal Consult @chr_horsdal .NET Core Middleware DNX X-Plat About me Christian Horsdal Independent Consultant www.horsdal-consult.dk c.horsdal@gmail.com @chr_horsdal ASP.NET 5 Everything changes


  1. .NET Core and DNX Chrisitan Horsdal Horsdal Consult @chr_horsdal

  2. .NET Core Middleware DNX X-Plat

  3. About me Christian Horsdal Independent Consultant www.horsdal-consult.dk c.horsdal@gmail.com @chr_horsdal

  4. ASP.NET 5 Everything changes

  5. ASP.NET Today ASP.NET MVC ASP.NET Web API ASP.NET WebForms HTTP HTTP HTTP Request Session ASP.NET Caching Context Handlers Modules pipeline State et al. .NET BCL IIS

  6. ASP.NET – things not in 5 ASP.NET MVC ASP.NET Web API ASP.NET WebForms HTTP HTTP HTTP Request Session ASP.NET Caching Context Handlers Modules pipeline State et al. .NET BCL IIS

  7. ASP.NET – and things changed in 5 ASP.NET MVC ASP.NET Web API ASP.NET WebForms HTTP HTTP Request HTTP Session ASP.NET Caching Handlers Modules pipeline Context State .NET BCL IIS

  8. Highlights of ASP.NET 5  DNX runtime  Modularized .NET  Cross platform .NET  Side-by-side deploy  OWIN / Middleware  Independent of Visual Studio  Unified MVC and WebAPI

  9. Why Do I Care?  DNX and cross platform:  Broader eco system  DNX as enabler for your own tooling  DNX as enabler for 3 rd party / OSS tooling  Use Linux in prodcution

  10. Why Do I Care?  Modularized .NET  Smaller footprint on disk and memory  Faster development from MS on some parts  Side-by-side on different versions

  11. Why Do I Care?  Middleware  Nice modular way of working  Sparation of infrastructure and application

  12. 13 Roadmap Milestone Release week Beta6 27 Jul 2015 Beta7 2 Sep 2015 Beta8 5 Oct 2015: Feature complete RC1 Nov 2015: Stabilized 1.0.0 Q1 2016 > 1.0.0 Maybe Q3 2016: VB.NET, SignalR, WebPages

  13. .NET CORE

  14. AKA: Cloud Optimized Framework  Because cloud. CLOUD. CLOUD  Trimmed down  Opt-in to more through NuGets  Not in GAC

  15. 16 BIN Deploy Source code dnu publish xcopy Server with DNX

  16. 17 Side-by-side deployment App 3 App 1 App 2 .NETCore v. Z .NETCore v. X .NETCore v. Y

  17. 18 What In and What’s Out?  No System.Web  No desktop stuff  WPF  Winforms  GDI  No Windows APIs – system32

  18. No System.Web  System.Web is at the very core of ASP.NET today  Context  Request  Response  Session  Pipeline (that nasty global.asax stuff)

  19. 20 What’s In and What’s Out  Cleanup  E.g. fewer cultures  E.g. fewer overloads here and there  Still being hashed out

  20. 21 Command line fun: DNX, DNU, DNVM

  21. 22 Why Command Line???  Automation  Cross platform  Visual Studio independence  Well worth learning

  22. DNX Runtime Application Frameworks (MVC, WebAPI, 3 rd party) & OWIN middleware DNX CoreCLR FullCLR Mono

  23. DNX  Command line for all things ASP.NET 5  .NET Version Manager (dnvm)  .NET Development UItility (dnu)  .NET Execution Environment (dnx)

  24. Demo – YO, DNVM, DNU and DNX

  25. project.json { "dependencies": { "Microsoft.AspNet.Server.IIS" : "1.0.0-alpha2", "Microsoft.AspNet.Server.WebListener" : "1.0.0- alpha2", "Microsoft.AspNet.Owin": "1.0.0-alpha2", "Nancy" : “1.2.0" }, "configurations" : { “dnx451 " : { }, “dnxcore50" : { } } }

  26. project.json DOES NOT LIST ALL FILES IN PROJECT

  27. DNX, DNU, DNVM  No ties to Visual Studio  Point-in-case: atom-omnisharp

  28. ASP.NET 5 Pipeline

  29. 30 ASP.NET 5: Pipeline Throttling OAuth Kestrel Application Middleware Middleware

  30. 31 Middleware  Middleware transforms the request and response  Takes a context in  Can call next step in pipeline  Or not  Uniform interface

  31. 32 ASP.NET 5: Pipeline Throttling OAuth Kestrel Application Middleware Middleware

  32. 33 OWIN: The Standard  Several years in prod already  Used (semi) widely  Implemented by  Katana  Nowin  ASP.NET 5,…  Implemented by MVC, Nancy , Suave, …

  33. 34 OWIN: Middleware Ecosystem  Security:  Oauth , Twitter, Facebook, Google, …  ClaimsTranformations  RequireSSL  ScopeValidation  …  Web:  Routing  Limits  Sitemap  StaticFiles  Monitoring  Raygun  Serilog  …

  34. 35 OWIN Middleware - As lambda app.UseOwin(buildFunc => buildFunc(next => async ctx => { var stopWatch = new Stopwatch(); stopWatch.Start(); await next(ctx); WriteLine("Action execution time: " + stopWatch.ElapsedMilliseconds); }));

  35. Cross Platform

  36. DNX, MVC, WINDOWS, LINUX DEMO

Recommend


More recommend