SlideShare ist ein Scribd-Unternehmen logo
1 von 38
Downloaden Sie, um offline zu lesen
©2016 Avanade Inc. All Rights Reserved.
Masters in Microsoft
(ASP).NET Core
Sjoerd van der Meer & Albert Sluijter
12-5-2016
©2016 Avanade Inc. All Rights Reserved.
Sjoerd
van der
Meer
Presenters
Albert
Sluijter
©2016 Avanade Inc. All Rights Reserved.
• History and introduction to .NET Core
• .NET Platform Standard
• .NET Command Line Interface
• Compilers
• Break
• ASP.NET Core Pipeline
• ASP.NET Core MVC
• ASP.NET Core To production
• ASP.NET Core Future
Agenda
©2016 Avanade Inc. All Rights Reserved.
• .NET framework becomes bigger and bigger
• ASP.NET, including MVC, tightly coupled to the framework
• Difficult to keep up the release cycle
History (ASP).NET
2002 2003 2004 2005 2006 2007 … 2013 2014 2015
1.0
16 Jan
2.0
7 Nov
Core RC1
18 Nov
4.6
20 Jul
4.5.1
17 Okt
©2016 Avanade Inc. All Rights Reserved.
Fragmentation of .NET
• Multiple, fragmented versions of .NET for different platforms
• There’s a different runtime, framework and application model
• Different platforms are always going to have different features and capabilities
Windows
Desktop
App Model
Framework
Runtime
Windows Store
App Model
Framework
Runtime
Windows
Phone
App Model
Framework
Runtime
ASP.NET 4
App Model
Framework
Runtime
©2016 Avanade Inc. All Rights Reserved.
Portable Class Library (PCL)
.NET Framework
Windows Phone
Windows Universal
©2016 Avanade Inc. All Rights Reserved.
.NET Stack
©2016 Avanade Inc. All Rights Reserved.
.NET Platform Standard
Why? To provide a more concrete guarantee of binary portability to future .NET-
capable platforms with an easier-to-understand platform versioning plan
.NET Platform Standard netstandard 1 1.1 1.2 1.3 1.4 1.5
.NET Core netcoreapp → → → → → 1
.NET Framework net → → → → → 4.6.2
→ → → → 4.6.1
→ → → 4.6
→ → 4.5.2
→ → 4.5.1
→ 4.5
Universal Windows Platform uap → → → → 10
Windows win → → 8.1
→ 8
Windows Phone wpa → → 8.1
Windows Phone Silverlight wp 8.1
8
Mono/Xamarin Platforms → → → → → *
Mono → → *
©2016 Avanade Inc. All Rights Reserved.
.NETStandard class library
©2016 Avanade Inc. All Rights Reserved.
Compilers
.NET Native Compiler
AOT
.NET Assemblies (IL)
RyuJIT
Roslyn Compiler
Native
JIT
CoreCLR CoreRT
Single native file
©2016 Avanade Inc. All Rights Reserved.
• Lightweight
• Modular
• Cross platform
• No machine wide installation
• Run multiple versions in parallel
• Faster (package based) release cycles
Why .NET Core
©2016 Avanade Inc. All Rights Reserved.
.NET framework Mono .NET Core
Machine wide Machine wide Per app
Existing code Existing code New code
Many types Many types Limited types
Windows only Cross-platform Cross-platform
Framework choices
©2016 Avanade Inc. All Rights Reserved.
• ASP.NET 4.6 is the more mature platform.
• ASP.NET Core 1.0 is a 1.0 release that includes Web API and MVC
but doesn't yet have SignalR or Web Pages.
• It doesn't yet support VB or F#. It might have these subsystems
some day.
When use .NET Core
©2016 Avanade Inc. All Rights Reserved.
.NET CLI
•Command-line first approach
•Replaces DNX, DNU and DNVM
•dotnet new
•dotnet restore
•dotnet run
•dotnet build
•dotnet publish
©2016 Avanade Inc. All Rights Reserved.©2016 Avanade Inc. All Rights Reserved.
15
Demo .NET CLI
©2016 Avanade Inc. All Rights Reserved.
• Open source Web server for ASP.NET
based on libuv (also used by NodeJS)
• It is fast and production ready.
• It is not a fully featured web server.
• It is recommended that you run it behind
a more fully featured webserver like IIS on
Windows or NGNIX on Linux.
• It is run behind IIS using the ASP.NET Core
Module (native IIS module).
• Maps a HTTP Request to the HttpContext.
Kestrel
©2016 Avanade Inc. All Rights Reserved.
Kestrel performance
0
500000
1000000
1500000
2000000
2500000
3000000
ASP.NET 4.6 ASP.NET 5 NodeJS ASP.NET 5 Scala - Plain Netty
IIS WebListener Node Kestrel Plain Netty
Max of RPS Avg
1 - x64 1 - x86 16 - x64 16 - x86
©2016 Avanade Inc. All Rights Reserved.©2016 Avanade Inc. All Rights Reserved.
18
BREAK
©2016 Avanade Inc. All Rights Reserved.
Asp.net Core web application
Request
Response
Application
Console.WriteLine(“Hello world!”)
How to make a webapplication from a console app?
©2016 Avanade Inc. All Rights Reserved.
Asp.net Core web application
Request
Response
Application
Add Kestrel Server
Binds to a port and transforms request for Asp.net core
Kestrel
©2016 Avanade Inc. All Rights Reserved.
Asp.net Core web application
Request
Response
Kestrel passes the request to a middleware pipeline
Kestrel
Middleware
Middleware
Middleware
Middleware
©2016 Avanade Inc. All Rights Reserved.
Asp.net Core web application
Request
Response
Hello web
Kestrel
Helloworld
©2016 Avanade Inc. All Rights Reserved.
Asp.net Core web application
Middleware pipeline is method chaining
Kestrel
Middleware
Middleware
Middleware
next()
return
return
next()
return
Request
Response
©2016 Avanade Inc. All Rights Reserved.
Request pipeline
©2016 Avanade Inc. All Rights Reserved.©2016 Avanade Inc. All Rights Reserved.
25
Let’s play with the middleware
pipeline
©2016 Avanade Inc. All Rights Reserved.
Asp.net Core web application
Kestrel server does nothing by default
Cookie
authentication
Static Files
Database error
page
Asp.net MVC
Facebook
authentication
Developer
Exception page
Examples of middleware
Add features as middleware!
Runtime info page
Status Code pages
©2016 Avanade Inc. All Rights Reserved.
Web application framework
Does: Routing – Modelbinding – Templating
Goals:
Seperation of concerns
Patterns based
Full control over output (html/json/xml)
TDD friendly
Asp.net MVC 6
ModelView
Controller
©2016 Avanade Inc. All Rights Reserved.
Asp.net Asp.net core
Asp.net MVC 6
MVC 5
WebApi 2
System.Web
Owin
Asp.net Core
{json} & <xml/>
<html/>
MVC 6
<html/>{json} & <xml/>
git merge
©2016 Avanade Inc. All Rights Reserved.©2016 Avanade Inc. All Rights Reserved.
29
MVC Demo
Yo maann! Before you
start all over again
©2016 Avanade Inc. All Rights Reserved.
• Scaffolding tool
• npm install --global yo
• Generates
• Projects
• Classes
• Files
• Uses generators
• npm install --global generator-aspnet
Yeoman
Yo!
©2016 Avanade Inc. All Rights Reserved.©2016 Avanade Inc. All Rights Reserved.
31
yo aspnet
©2016 Avanade Inc. All Rights Reserved.
Host my app
dotnet run?
Multiple apps on one server?
(only one port 80)
And SSL?
Windows authentication?
Going to production
Request
Response
My Epic Web
Application
Kestrel
©2016 Avanade Inc. All Rights Reserved.
Run it with a
reverse proxy
• IIS
• Install ASP.NET Core
Module first
• nginx
• Apache
Going to production
Request
Response
My Epic Web
Application
Kestrel
IIS–nginx–apache
:80/:443
:5000
©2016 Avanade Inc. All Rights Reserved.©2016 Avanade Inc. All Rights Reserved.
34
dotnet publish
©2016 Avanade Inc. All Rights Reserved.
Asp.net core future
Docker Nano Server (size 550MB)
Microservices
Azure service fabric
Raspberry PI (ARM)
©2016 Avanade Inc. All Rights Reserved.
Timeline
Today
16 May 2016
June - July
July - September
End of 2016
.net core & Asp.net core RC2-final
Tooling preview1 (Visual studio & dotnet-cli)
.net core & Asp.net core RTM
Tooling still in preview
Asp.net core SignalR
Tooling RTM
Expecting .net core & asp.net core 1.1
.net core & Asp.net core RC2 almost final
©2016 Avanade Inc. All Rights Reserved.
Starting point for .NET
dot.net/
Asp.net core docs
docs.asp.net/
All open source on Github
• Github.com/dotnet/
• Github.com/aspnet/
• Github.com/microsoft/
Get Code it’s awesome
(and open source)
code.visualstudio.com/
Omnisharp intellisense for editors
omnisharp.net/
github.com/omnisharp
Getting started
©2016 Avanade Inc. All Rights Reserved.
Questions?

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Spring Boot
Spring BootSpring Boot
Spring Boot
 
Java Collections | Collections Framework in Java | Java Tutorial For Beginner...
Java Collections | Collections Framework in Java | Java Tutorial For Beginner...Java Collections | Collections Framework in Java | Java Tutorial For Beginner...
Java Collections | Collections Framework in Java | Java Tutorial For Beginner...
 
REST APIs with Spring
REST APIs with SpringREST APIs with Spring
REST APIs with Spring
 
Entity framework code first
Entity framework code firstEntity framework code first
Entity framework code first
 
Asp.Net Core MVC with Entity Framework
Asp.Net Core MVC with Entity FrameworkAsp.Net Core MVC with Entity Framework
Asp.Net Core MVC with Entity Framework
 
Solid NodeJS with TypeScript, Jest & NestJS
Solid NodeJS with TypeScript, Jest & NestJSSolid NodeJS with TypeScript, Jest & NestJS
Solid NodeJS with TypeScript, Jest & NestJS
 
Spring Core
Spring CoreSpring Core
Spring Core
 
Angular
AngularAngular
Angular
 
ASP.NET Web API
ASP.NET Web APIASP.NET Web API
ASP.NET Web API
 
Node js
Node jsNode js
Node js
 
Spring annotation
Spring annotationSpring annotation
Spring annotation
 
Web api
Web apiWeb api
Web api
 
MSDN - ASP.NET MVC
MSDN - ASP.NET MVCMSDN - ASP.NET MVC
MSDN - ASP.NET MVC
 
Spring boot
Spring bootSpring boot
Spring boot
 
Spring MVC Framework
Spring MVC FrameworkSpring MVC Framework
Spring MVC Framework
 
Asp.net state management
Asp.net state managementAsp.net state management
Asp.net state management
 
Model View Controller (MVC)
Model View Controller (MVC)Model View Controller (MVC)
Model View Controller (MVC)
 
Spring Framework
Spring Framework  Spring Framework
Spring Framework
 
JQuery introduction
JQuery introductionJQuery introduction
JQuery introduction
 
Understanding react hooks
Understanding react hooksUnderstanding react hooks
Understanding react hooks
 

Ähnlich wie Introduction to ASP.NET Core

Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014
Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014
Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014FalafelSoftware
 
Asp.net in a new world
Asp.net in a new worldAsp.net in a new world
Asp.net in a new worldnextbuild
 
Introducing ASP.NET vNext - A tour of the new ASP.NET platform
Introducing ASP.NET vNext - A tour of the new ASP.NET platformIntroducing ASP.NET vNext - A tour of the new ASP.NET platform
Introducing ASP.NET vNext - A tour of the new ASP.NET platformJeffrey T. Fritz
 
Moving forward with ASP.NET Core
Moving forward with ASP.NET CoreMoving forward with ASP.NET Core
Moving forward with ASP.NET CoreEnea Gabriel
 
The future of ASP.NET / CodeCamp/Iasi 25 Oct 2014
The future of ASP.NET / CodeCamp/Iasi 25 Oct 2014The future of ASP.NET / CodeCamp/Iasi 25 Oct 2014
The future of ASP.NET / CodeCamp/Iasi 25 Oct 2014Enea Gabriel
 
Evolution / History of ASP.NET
Evolution / History of ASP.NETEvolution / History of ASP.NET
Evolution / History of ASP.NETAnoop Kumar Sharma
 
Microsoft &lt;3 Linux with ASP.NET Core
Microsoft &lt;3 Linux with ASP.NET CoreMicrosoft &lt;3 Linux with ASP.NET Core
Microsoft &lt;3 Linux with ASP.NET CoreJohn Patrick Oliveros
 
Javascript Essentials - Cisco Live Barcelona 2019
Javascript Essentials - Cisco Live Barcelona 2019Javascript Essentials - Cisco Live Barcelona 2019
Javascript Essentials - Cisco Live Barcelona 2019Cisco DevNet
 
.NET Conf 2021 - Hot Topics Desktop Development
.NET Conf 2021 - Hot Topics Desktop Development.NET Conf 2021 - Hot Topics Desktop Development
.NET Conf 2021 - Hot Topics Desktop DevelopmentMirco Vanini
 
Workspace on asp.net web aplication development
Workspace on asp.net  web aplication developmentWorkspace on asp.net  web aplication development
Workspace on asp.net web aplication developmentKBA Systems
 
Workspace on asp.net web aplication development
Workspace on asp.net  web aplication developmentWorkspace on asp.net  web aplication development
Workspace on asp.net web aplication developmentKBA Systems
 
The next step from Microsoft - Vnext (Srdjan Poznic)
The next step from Microsoft - Vnext (Srdjan Poznic)The next step from Microsoft - Vnext (Srdjan Poznic)
The next step from Microsoft - Vnext (Srdjan Poznic)Geekstone
 
Pottnet Meetup Essen - ASP.Net Core
Pottnet Meetup Essen - ASP.Net CorePottnet Meetup Essen - ASP.Net Core
Pottnet Meetup Essen - ASP.Net CoreMalte Lantin
 
Pottnet MeetUp Essen - ASP.Net Core
Pottnet MeetUp Essen - ASP.Net CorePottnet MeetUp Essen - ASP.Net Core
Pottnet MeetUp Essen - ASP.Net CoreMalte Lantin
 
Introduction to ASP.NET 5
Introduction to ASP.NET 5Introduction to ASP.NET 5
Introduction to ASP.NET 5mbaric
 
.Net: Introduction, trends and future
.Net: Introduction, trends and future.Net: Introduction, trends and future
.Net: Introduction, trends and futureBishnu Rawal
 
Why Enterprises are Using ASP.NET Core?
Why Enterprises are Using ASP.NET Core?Why Enterprises are Using ASP.NET Core?
Why Enterprises are Using ASP.NET Core?Marie Weaver
 

Ähnlich wie Introduction to ASP.NET Core (20)

MiM asp.net core
MiM asp.net coreMiM asp.net core
MiM asp.net core
 
Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014
Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014
Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014
 
Asp.net in a new world
Asp.net in a new worldAsp.net in a new world
Asp.net in a new world
 
Introducing ASP.NET vNext - A tour of the new ASP.NET platform
Introducing ASP.NET vNext - A tour of the new ASP.NET platformIntroducing ASP.NET vNext - A tour of the new ASP.NET platform
Introducing ASP.NET vNext - A tour of the new ASP.NET platform
 
Moving forward with ASP.NET Core
Moving forward with ASP.NET CoreMoving forward with ASP.NET Core
Moving forward with ASP.NET Core
 
Dotnet on linux
Dotnet on linuxDotnet on linux
Dotnet on linux
 
The future of ASP.NET / CodeCamp/Iasi 25 Oct 2014
The future of ASP.NET / CodeCamp/Iasi 25 Oct 2014The future of ASP.NET / CodeCamp/Iasi 25 Oct 2014
The future of ASP.NET / CodeCamp/Iasi 25 Oct 2014
 
Evolution / History of ASP.NET
Evolution / History of ASP.NETEvolution / History of ASP.NET
Evolution / History of ASP.NET
 
Microsoft &lt;3 Linux with ASP.NET Core
Microsoft &lt;3 Linux with ASP.NET CoreMicrosoft &lt;3 Linux with ASP.NET Core
Microsoft &lt;3 Linux with ASP.NET Core
 
Javascript Essentials - Cisco Live Barcelona 2019
Javascript Essentials - Cisco Live Barcelona 2019Javascript Essentials - Cisco Live Barcelona 2019
Javascript Essentials - Cisco Live Barcelona 2019
 
.NET Conf 2021 - Hot Topics Desktop Development
.NET Conf 2021 - Hot Topics Desktop Development.NET Conf 2021 - Hot Topics Desktop Development
.NET Conf 2021 - Hot Topics Desktop Development
 
Workspace on asp.net web aplication development
Workspace on asp.net  web aplication developmentWorkspace on asp.net  web aplication development
Workspace on asp.net web aplication development
 
Workspace on asp.net web aplication development
Workspace on asp.net  web aplication developmentWorkspace on asp.net  web aplication development
Workspace on asp.net web aplication development
 
The next step from Microsoft - Vnext (Srdjan Poznic)
The next step from Microsoft - Vnext (Srdjan Poznic)The next step from Microsoft - Vnext (Srdjan Poznic)
The next step from Microsoft - Vnext (Srdjan Poznic)
 
Pottnet Meetup Essen - ASP.Net Core
Pottnet Meetup Essen - ASP.Net CorePottnet Meetup Essen - ASP.Net Core
Pottnet Meetup Essen - ASP.Net Core
 
Pottnet MeetUp Essen - ASP.Net Core
Pottnet MeetUp Essen - ASP.Net CorePottnet MeetUp Essen - ASP.Net Core
Pottnet MeetUp Essen - ASP.Net Core
 
ASP.NET
ASP.NETASP.NET
ASP.NET
 
Introduction to ASP.NET 5
Introduction to ASP.NET 5Introduction to ASP.NET 5
Introduction to ASP.NET 5
 
.Net: Introduction, trends and future
.Net: Introduction, trends and future.Net: Introduction, trends and future
.Net: Introduction, trends and future
 
Why Enterprises are Using ASP.NET Core?
Why Enterprises are Using ASP.NET Core?Why Enterprises are Using ASP.NET Core?
Why Enterprises are Using ASP.NET Core?
 

Mehr von Avanade Nederland

Masters in Microsoft 2018 - Blockchain
Masters in Microsoft 2018 - Blockchain Masters in Microsoft 2018 - Blockchain
Masters in Microsoft 2018 - Blockchain Avanade Nederland
 
5 tips als je nu wilt starten met digital marketing analytics
5 tips als je nu wilt starten met digital marketing analytics5 tips als je nu wilt starten met digital marketing analytics
5 tips als je nu wilt starten met digital marketing analyticsAvanade Nederland
 
Mixed Reality met Microsoft HoloLens
Mixed Reality met Microsoft HoloLensMixed Reality met Microsoft HoloLens
Mixed Reality met Microsoft HoloLensAvanade Nederland
 
Virtual Reality met HTC Vive
Virtual Reality met HTC ViveVirtual Reality met HTC Vive
Virtual Reality met HTC ViveAvanade Nederland
 
Power apps for business applications
Power apps for business applicationsPower apps for business applications
Power apps for business applicationsAvanade Nederland
 
The importance of a design-oriented approach to IT solutions
The importance of a design-oriented approach to IT solutionsThe importance of a design-oriented approach to IT solutions
The importance of a design-oriented approach to IT solutionsAvanade Nederland
 
Creating a workflow with Azure Logic and API Apps
Creating a workflow with Azure Logic and API AppsCreating a workflow with Azure Logic and API Apps
Creating a workflow with Azure Logic and API AppsAvanade Nederland
 
Beveilig je data met windows 10
Beveilig je data met windows 10 Beveilig je data met windows 10
Beveilig je data met windows 10 Avanade Nederland
 
Designing & Orchestrating the Customer Experience
Designing & Orchestrating the Customer ExperienceDesigning & Orchestrating the Customer Experience
Designing & Orchestrating the Customer ExperienceAvanade Nederland
 
Embracing mobile: How can we track customer interaction outside of the PC?
Embracing mobile: How can we track customer interaction outside of the PC?Embracing mobile: How can we track customer interaction outside of the PC?
Embracing mobile: How can we track customer interaction outside of the PC?Avanade Nederland
 
Business case voor een digitale werkplek
Business case voor een digitale werkplekBusiness case voor een digitale werkplek
Business case voor een digitale werkplekAvanade Nederland
 
Van intranet naar een digitale werkplek
Van intranet naar een digitale werkplekVan intranet naar een digitale werkplek
Van intranet naar een digitale werkplekAvanade Nederland
 
How Windows 10 is enabling the digital workplace
How Windows 10 is enabling the digital workplaceHow Windows 10 is enabling the digital workplace
How Windows 10 is enabling the digital workplaceAvanade Nederland
 
Unified Service Desk for Contact Centers
Unified Service Desk for Contact CentersUnified Service Desk for Contact Centers
Unified Service Desk for Contact CentersAvanade Nederland
 
Principes van Service Oriented Architecture
Principes van Service Oriented ArchitecturePrincipes van Service Oriented Architecture
Principes van Service Oriented ArchitectureAvanade Nederland
 

Mehr von Avanade Nederland (20)

Masters in Microsoft 2018 - Blockchain
Masters in Microsoft 2018 - Blockchain Masters in Microsoft 2018 - Blockchain
Masters in Microsoft 2018 - Blockchain
 
Geek + E.I. = Success in AI
Geek + E.I. = Success in AIGeek + E.I. = Success in AI
Geek + E.I. = Success in AI
 
5 tips als je nu wilt starten met digital marketing analytics
5 tips als je nu wilt starten met digital marketing analytics5 tips als je nu wilt starten met digital marketing analytics
5 tips als je nu wilt starten met digital marketing analytics
 
IOT & Machine Learning
IOT & Machine LearningIOT & Machine Learning
IOT & Machine Learning
 
Mixed Reality met Microsoft HoloLens
Mixed Reality met Microsoft HoloLensMixed Reality met Microsoft HoloLens
Mixed Reality met Microsoft HoloLens
 
Virtual Reality met HTC Vive
Virtual Reality met HTC ViveVirtual Reality met HTC Vive
Virtual Reality met HTC Vive
 
Power apps for business applications
Power apps for business applicationsPower apps for business applications
Power apps for business applications
 
The importance of a design-oriented approach to IT solutions
The importance of a design-oriented approach to IT solutionsThe importance of a design-oriented approach to IT solutions
The importance of a design-oriented approach to IT solutions
 
Creating a workflow with Azure Logic and API Apps
Creating a workflow with Azure Logic and API AppsCreating a workflow with Azure Logic and API Apps
Creating a workflow with Azure Logic and API Apps
 
Beveilig je data met windows 10
Beveilig je data met windows 10 Beveilig je data met windows 10
Beveilig je data met windows 10
 
Designing & Orchestrating the Customer Experience
Designing & Orchestrating the Customer ExperienceDesigning & Orchestrating the Customer Experience
Designing & Orchestrating the Customer Experience
 
Embracing mobile: How can we track customer interaction outside of the PC?
Embracing mobile: How can we track customer interaction outside of the PC?Embracing mobile: How can we track customer interaction outside of the PC?
Embracing mobile: How can we track customer interaction outside of the PC?
 
Avanade Stageopdrachten
Avanade StageopdrachtenAvanade Stageopdrachten
Avanade Stageopdrachten
 
Digitale werklek adoptie
Digitale werklek adoptieDigitale werklek adoptie
Digitale werklek adoptie
 
Digital workplace insights
Digital workplace insightsDigital workplace insights
Digital workplace insights
 
Business case voor een digitale werkplek
Business case voor een digitale werkplekBusiness case voor een digitale werkplek
Business case voor een digitale werkplek
 
Van intranet naar een digitale werkplek
Van intranet naar een digitale werkplekVan intranet naar een digitale werkplek
Van intranet naar een digitale werkplek
 
How Windows 10 is enabling the digital workplace
How Windows 10 is enabling the digital workplaceHow Windows 10 is enabling the digital workplace
How Windows 10 is enabling the digital workplace
 
Unified Service Desk for Contact Centers
Unified Service Desk for Contact CentersUnified Service Desk for Contact Centers
Unified Service Desk for Contact Centers
 
Principes van Service Oriented Architecture
Principes van Service Oriented ArchitecturePrincipes van Service Oriented Architecture
Principes van Service Oriented Architecture
 

Kürzlich hochgeladen

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 

Kürzlich hochgeladen (20)

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 

Introduction to ASP.NET Core

  • 1. ©2016 Avanade Inc. All Rights Reserved. Masters in Microsoft (ASP).NET Core Sjoerd van der Meer & Albert Sluijter 12-5-2016
  • 2. ©2016 Avanade Inc. All Rights Reserved. Sjoerd van der Meer Presenters Albert Sluijter
  • 3. ©2016 Avanade Inc. All Rights Reserved. • History and introduction to .NET Core • .NET Platform Standard • .NET Command Line Interface • Compilers • Break • ASP.NET Core Pipeline • ASP.NET Core MVC • ASP.NET Core To production • ASP.NET Core Future Agenda
  • 4. ©2016 Avanade Inc. All Rights Reserved. • .NET framework becomes bigger and bigger • ASP.NET, including MVC, tightly coupled to the framework • Difficult to keep up the release cycle History (ASP).NET 2002 2003 2004 2005 2006 2007 … 2013 2014 2015 1.0 16 Jan 2.0 7 Nov Core RC1 18 Nov 4.6 20 Jul 4.5.1 17 Okt
  • 5. ©2016 Avanade Inc. All Rights Reserved. Fragmentation of .NET • Multiple, fragmented versions of .NET for different platforms • There’s a different runtime, framework and application model • Different platforms are always going to have different features and capabilities Windows Desktop App Model Framework Runtime Windows Store App Model Framework Runtime Windows Phone App Model Framework Runtime ASP.NET 4 App Model Framework Runtime
  • 6. ©2016 Avanade Inc. All Rights Reserved. Portable Class Library (PCL) .NET Framework Windows Phone Windows Universal
  • 7. ©2016 Avanade Inc. All Rights Reserved. .NET Stack
  • 8. ©2016 Avanade Inc. All Rights Reserved. .NET Platform Standard Why? To provide a more concrete guarantee of binary portability to future .NET- capable platforms with an easier-to-understand platform versioning plan .NET Platform Standard netstandard 1 1.1 1.2 1.3 1.4 1.5 .NET Core netcoreapp → → → → → 1 .NET Framework net → → → → → 4.6.2 → → → → 4.6.1 → → → 4.6 → → 4.5.2 → → 4.5.1 → 4.5 Universal Windows Platform uap → → → → 10 Windows win → → 8.1 → 8 Windows Phone wpa → → 8.1 Windows Phone Silverlight wp 8.1 8 Mono/Xamarin Platforms → → → → → * Mono → → *
  • 9. ©2016 Avanade Inc. All Rights Reserved. .NETStandard class library
  • 10. ©2016 Avanade Inc. All Rights Reserved. Compilers .NET Native Compiler AOT .NET Assemblies (IL) RyuJIT Roslyn Compiler Native JIT CoreCLR CoreRT Single native file
  • 11. ©2016 Avanade Inc. All Rights Reserved. • Lightweight • Modular • Cross platform • No machine wide installation • Run multiple versions in parallel • Faster (package based) release cycles Why .NET Core
  • 12. ©2016 Avanade Inc. All Rights Reserved. .NET framework Mono .NET Core Machine wide Machine wide Per app Existing code Existing code New code Many types Many types Limited types Windows only Cross-platform Cross-platform Framework choices
  • 13. ©2016 Avanade Inc. All Rights Reserved. • ASP.NET 4.6 is the more mature platform. • ASP.NET Core 1.0 is a 1.0 release that includes Web API and MVC but doesn't yet have SignalR or Web Pages. • It doesn't yet support VB or F#. It might have these subsystems some day. When use .NET Core
  • 14. ©2016 Avanade Inc. All Rights Reserved. .NET CLI •Command-line first approach •Replaces DNX, DNU and DNVM •dotnet new •dotnet restore •dotnet run •dotnet build •dotnet publish
  • 15. ©2016 Avanade Inc. All Rights Reserved.©2016 Avanade Inc. All Rights Reserved. 15 Demo .NET CLI
  • 16. ©2016 Avanade Inc. All Rights Reserved. • Open source Web server for ASP.NET based on libuv (also used by NodeJS) • It is fast and production ready. • It is not a fully featured web server. • It is recommended that you run it behind a more fully featured webserver like IIS on Windows or NGNIX on Linux. • It is run behind IIS using the ASP.NET Core Module (native IIS module). • Maps a HTTP Request to the HttpContext. Kestrel
  • 17. ©2016 Avanade Inc. All Rights Reserved. Kestrel performance 0 500000 1000000 1500000 2000000 2500000 3000000 ASP.NET 4.6 ASP.NET 5 NodeJS ASP.NET 5 Scala - Plain Netty IIS WebListener Node Kestrel Plain Netty Max of RPS Avg 1 - x64 1 - x86 16 - x64 16 - x86
  • 18. ©2016 Avanade Inc. All Rights Reserved.©2016 Avanade Inc. All Rights Reserved. 18 BREAK
  • 19. ©2016 Avanade Inc. All Rights Reserved. Asp.net Core web application Request Response Application Console.WriteLine(“Hello world!”) How to make a webapplication from a console app?
  • 20. ©2016 Avanade Inc. All Rights Reserved. Asp.net Core web application Request Response Application Add Kestrel Server Binds to a port and transforms request for Asp.net core Kestrel
  • 21. ©2016 Avanade Inc. All Rights Reserved. Asp.net Core web application Request Response Kestrel passes the request to a middleware pipeline Kestrel Middleware Middleware Middleware Middleware
  • 22. ©2016 Avanade Inc. All Rights Reserved. Asp.net Core web application Request Response Hello web Kestrel Helloworld
  • 23. ©2016 Avanade Inc. All Rights Reserved. Asp.net Core web application Middleware pipeline is method chaining Kestrel Middleware Middleware Middleware next() return return next() return Request Response
  • 24. ©2016 Avanade Inc. All Rights Reserved. Request pipeline
  • 25. ©2016 Avanade Inc. All Rights Reserved.©2016 Avanade Inc. All Rights Reserved. 25 Let’s play with the middleware pipeline
  • 26. ©2016 Avanade Inc. All Rights Reserved. Asp.net Core web application Kestrel server does nothing by default Cookie authentication Static Files Database error page Asp.net MVC Facebook authentication Developer Exception page Examples of middleware Add features as middleware! Runtime info page Status Code pages
  • 27. ©2016 Avanade Inc. All Rights Reserved. Web application framework Does: Routing – Modelbinding – Templating Goals: Seperation of concerns Patterns based Full control over output (html/json/xml) TDD friendly Asp.net MVC 6 ModelView Controller
  • 28. ©2016 Avanade Inc. All Rights Reserved. Asp.net Asp.net core Asp.net MVC 6 MVC 5 WebApi 2 System.Web Owin Asp.net Core {json} & <xml/> <html/> MVC 6 <html/>{json} & <xml/> git merge
  • 29. ©2016 Avanade Inc. All Rights Reserved.©2016 Avanade Inc. All Rights Reserved. 29 MVC Demo Yo maann! Before you start all over again
  • 30. ©2016 Avanade Inc. All Rights Reserved. • Scaffolding tool • npm install --global yo • Generates • Projects • Classes • Files • Uses generators • npm install --global generator-aspnet Yeoman Yo!
  • 31. ©2016 Avanade Inc. All Rights Reserved.©2016 Avanade Inc. All Rights Reserved. 31 yo aspnet
  • 32. ©2016 Avanade Inc. All Rights Reserved. Host my app dotnet run? Multiple apps on one server? (only one port 80) And SSL? Windows authentication? Going to production Request Response My Epic Web Application Kestrel
  • 33. ©2016 Avanade Inc. All Rights Reserved. Run it with a reverse proxy • IIS • Install ASP.NET Core Module first • nginx • Apache Going to production Request Response My Epic Web Application Kestrel IIS–nginx–apache :80/:443 :5000
  • 34. ©2016 Avanade Inc. All Rights Reserved.©2016 Avanade Inc. All Rights Reserved. 34 dotnet publish
  • 35. ©2016 Avanade Inc. All Rights Reserved. Asp.net core future Docker Nano Server (size 550MB) Microservices Azure service fabric Raspberry PI (ARM)
  • 36. ©2016 Avanade Inc. All Rights Reserved. Timeline Today 16 May 2016 June - July July - September End of 2016 .net core & Asp.net core RC2-final Tooling preview1 (Visual studio & dotnet-cli) .net core & Asp.net core RTM Tooling still in preview Asp.net core SignalR Tooling RTM Expecting .net core & asp.net core 1.1 .net core & Asp.net core RC2 almost final
  • 37. ©2016 Avanade Inc. All Rights Reserved. Starting point for .NET dot.net/ Asp.net core docs docs.asp.net/ All open source on Github • Github.com/dotnet/ • Github.com/aspnet/ • Github.com/microsoft/ Get Code it’s awesome (and open source) code.visualstudio.com/ Omnisharp intellisense for editors omnisharp.net/ github.com/omnisharp Getting started
  • 38. ©2016 Avanade Inc. All Rights Reserved. Questions?