ASP.NET Core: The best of the new bits

Ken Cenerelli
Ken CenerelliWriter | .NET Developer | Microsoft MVP | Public Speaker | Microsoft Azure Nerd
ASP.NET Core: The
best of the new bits
Ken Cenerelli
About Me
Twitter: @KenCenerelli
Email: Ken_Cenerelli@Outlook.com
Blog: kencenerelli.wordpress.com
LinkedIn: linkedin.com/in/kencenerelli
Bio:
 Programmer Writer / Content Developer
 Microsoft MVP - Visual Studio and
Development Technologies
 Microsoft TechNet Wiki Guru
 Co-Organizer of CTTDNUG
 Technical reviewer of multiple books
CTTDNUG
Ken Cenerelli
.NET Core
First things first…
.NET 2016 – 10K foot view
Next gen JIT (RyuJIT)
SIMD
Runtime
Components Compilers
.NET Compiler Platform (Roslyn)
Languages innovation
.NET Core 1.0 Libraries
.NET Framework 4.6 Libraries
NuGet packages
.NET Framework 4.6 .NET Core 1.0
Full .NET Framework for any scenario and
library support on Windows
Modular libraries & runtime optimized for
server and cloud workloads
About .NET Core
• .NET Core is a subset of the .NET Framework
• Many .NET Framework components are not in .NET Core
• .NET Core is completely modularized. Each component is
distributed via NuGet
• Apps can be updated independently and do not rely on major
framework releases
• Deployment package includes everything needed to run
• .NET Core will run on Linux, Windows, and OSX
5
Two parts of .NET Core
•Runtime/Libraries:
• CLR, libraries, compilers, etc.
• Won’t change before RTM
•Tooling:
• Supports .NET Core and ASP.NET Core, including the new
command line tools and bits that plug into Visual Studio
& Visual Studio Code
• Will change before RTM
6
Differences
7
Feature .NET Framework .NET Core
Library Installation Centralised Distributed with each app
Updates
One big update. You better get
your app ready
Updates to framework are
independent of app.
Update NuGet packages
when you are ready
Platforms Windows is the only one for me
I love everyone!
Windows, OSX, Linux
Base Class Library
All the things! You get the entire
BCL
All the things!
You get the entire BCL
Credit: https://gooroo.io/GoorooTHINK/Article/16732/Introduction-to-NET-Core/22177
8
Credit: opensource.com
Strange Times…
9
Visual Studio 2015 and ASP.NET Core:
Support for npm, bower, gulp, grunt, etc.
npm bower grunt gulp
Responsive and plug-in free
http://bradfrost.com/blog/post/this-is-the-web/
Responsive and plug-in free
http://bradfrost.com/blog/post/this-is-the-web/
Responsive and plug-in free
http://bradfrost.com/blog/post/this-is-the-web/
ASP.NET Core
What about ASP.NET 5?
• ASP.NET Core 1.0 was previously called ASP.NET 5
• It was renamed in January 2016
• You may still see it referred to as ASP.NET 5 in Visual
Studio and in some docs
• Was updated in latest ASP.NET Core Release Candidate 2
ASP.NET 4.6 and ASP.NET Core 1.0
ASP.NET Core 1.0 Roadmap
https://github.com/aspnet/home/wiki/roadmap
Milestone Release week
Beta6 27 Jul 2015
Beta7 2 Sep 2015
Beta8 15 Oct 2015
RC1 Nov 2015
RC2 mid-May 2016
1.0.0 late-June 2016
.NET 2016 – 10K foot view
Next gen JIT (RyuJIT)
SIMD
Runtime
Components Compilers
.NET Compiler Platform (Roslyn)
Languages innovation
.NET Core 1.0 Libraries
.NET Framework 4.6 Libraries
NuGet packages
.NET Framework 4.6 .NET Core 1.0
Full .NET Framework for any scenario and
library support on Windows
Modular libraries & runtime optimized for
server and cloud workloads
ASP.NET 2016 in a Nutshell
.NET Framework 4.6 .NET Core 1.0
Full .NET Framework for any scenario and
library support on Windows
Modular libraries & runtime optimized for
server and cloud workloads
ASP.NET Core 1.0 – Key Values
Choose your Editors
and Tools
Open Source
with Contributions Cross-PlatformOSS
Seamless transition
from on-premises to cloud
Faster Development CycleTotally Modular
Fast
ASP.NET Core ~ What is it?
21
• ASP.NET Core 1.0 is a console app
• In RC1, an ASP.NET application was a class library that contained a
Startup.cs class
• As of RC2, an ASP.NET Core application is a .NET Core Console application
that calls into ASP.NET specific libraries
• So code that used to live in the ASP.NET Hosting libraries and
automatically runs your Startup.cs now lives inside a Program.cs
ASP.NET Core ~ The features
• Hosting
• Kestrel, Startup
• Middleware
• Routing, authentication, static files, diagnostics, error
handling, session, CORS, localization, custom
• Dependency Injection
• Configuration
• Logging
• Identity
22
ASP.NET Core ~ Which editors & IDEs?
•Visual Studio 2015 Update 2 including Community
•Visual Studio Code with C# extension
•An OmniSharp-enabled editor:
23
• Atom • Emacs
• Brackets • Sublime Text
• Yeoman • Vim
ASP.NET Core ~ What can you do?
•ASP.NET
• MVC Web Apps in C#
• Web API apps
• Console apps
• .NET Core compatible class library
•Signal R and Web Pages are coming after RTM
24
ASP.NET Core: The best of the new bits
ASP.NET Core MVC
•One set of concepts – remove duplication
•Web UI and Web APIs
•Built on ASP.NET Core
•Supports .NET Core
•Runs on IIS or self-hosted
•Deep integration with DI
26
OWIN (Open Web Interface for .NET)
• OWIN in an open, community owned specification
• OWIN defines pluggable middleware and hosting
• ASP.NET 4.5 and ASP.NET Core 1.0 both support OWIN
Deployment portability
•Two main models:
• Portable Apps
• Self-contained Apps
28
Portable Apps
•Default application type in .NET Core
•Require .NET Core to be installed on the target
machine
•Your application is portable between installations of
.NET Core
•No need to decide upfront which OSes your app will
run on
29
Self-contained Apps
•All app dependencies, including the .NET Core
runtime, is part of the application
•The app is larger, but also capable of running on any
.NET Core supported platforms with the correct
native dependencies
•Need to make an explicit choice which platforms
your application needs to run on during dev
30
Setting Portability
• Portable: • Self Contained:
• Target .NET Core libraries
in project.json
• Remove any "type":
"platform" properties
• Add a runtimes node in
your project.json
• •
31
Tooling Changes
What’s new in ASP.NET Core RC2?
•.NET CLI (SDK) and IDE updates
•Tag Helpers
•IIS support baked in
•Host RC2 apps in Azure App Service
•Docker support with a new version of Docker Tools
for Visual Studio 2015
33
ASP.NET Core SDK
34
•The .NET Core SDK includes enough software to
build an app
•The SDK gives you both the .NET Core Tools and a
copy of .NET Core
•https://www.microsoft.com/net/core#windows
Demo
ASP.NET Core 1.0 from the SDK
ASP.NET Core IDE
•The best way to develop with .NET Core on Windows
is to download the Visual Studio official MSI Installer
and the latest NuGet Manager extension for Visual
Studio
•https://www.microsoft.com/net/core#windows
36
Demo
ASP.NET Core 1.0 from the IDE
TagHelpers: Evolution of HTML Forms
• HTML helpers expressed as tags
Ex. Instead of:
@Html.LabelFor(m => m.UserName, new { @class = "col-md-2 control-label" })
Write this:
<label asp-for="UserName" class="col-md-2 control-label"></label>
• Easier to customize with more attributes
• Work seamlessly with the HTML editor
• Markup now looks like HTML and it comes with full
IntelliSense
TagHelpers
Demo
TagHelpers
What about Entity Framework?
•EF6.x most current and runs on .NET Framework 4.6
•Entity Framework 7 renamed to Entity Framework
Core 1.0
•EF Core is a new code base that does not inherit all
the features and API surface of EF6.x
•EF6.x will continue to be a supported for some time
41
When to use EF Core?
•EF6.x will still be the most suitable choice for most
applications
•EF Core recommended for:
• New applications that do not need features that are not
yet implemented in EF Core
• Applications that target .NET Core, such as Universal
Windows Platform (UWP) and ASP.NET Core apps
42
Web APIs
In ASP.NET 4.6 – Separate Stack
In ASP.NET Core:
API services are an ASP.NET Core feature
Microsoft /web®
Sample Read-only Model and Controller
Microsoft /web®
Read-only Controller Actions to return data
Routing a Web API
Resources
Feedback and questions
http://asp.net
http://get.asp.net
http://docs.asp.net
http://aka.ms/webcamps-training-kit
ASP.NET Core: The best of the new bits
1 de 50

Recomendados

.Net Core por
.Net Core.Net Core
.Net CoreBertrand Le Roy
10.1K visualizações21 slides
.Net Core por
.Net Core.Net Core
.Net CoreBohdan Pashkovskyi
724 visualizações19 slides
.Net Core por
.Net Core.Net Core
.Net CoreSoftware Infrastructure
875 visualizações17 slides
Introduction to .NET Core por
Introduction to .NET CoreIntroduction to .NET Core
Introduction to .NET CoreJohnny Hooyberghs
2.3K visualizações35 slides
Introduction to .NET Core por
Introduction to .NET CoreIntroduction to .NET Core
Introduction to .NET CoreMarco Parenzan
3.6K visualizações65 slides
.Net Core - not your daddy's dotnet por
.Net Core - not your daddy's dotnet.Net Core - not your daddy's dotnet
.Net Core - not your daddy's dotnetRick van den Bosch
1.2K visualizações59 slides

Mais conteúdo relacionado

Mais procurados

Express js por
Express jsExpress js
Express jsManav Prasad
6.6K visualizações19 slides
Introduction to ASP.NET Core por
Introduction to ASP.NET CoreIntroduction to ASP.NET Core
Introduction to ASP.NET CoreAvanade Nederland
3.8K visualizações38 slides
Dot Net Core por
Dot Net CoreDot Net Core
Dot Net CoreAmir Barylko
2.4K visualizações53 slides
Nodejs presentation por
Nodejs presentationNodejs presentation
Nodejs presentationArvind Devaraj
8.8K visualizações17 slides
Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T... por
Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...
Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...Edureka!
3K visualizações59 slides
ASP.NET Basics por
ASP.NET Basics ASP.NET Basics
ASP.NET Basics baabtra.com - No. 1 supplier of quality freshers
2.8K visualizações54 slides

Mais procurados(20)

Express js por Manav Prasad
Express jsExpress js
Express js
Manav Prasad6.6K visualizações
Introduction to ASP.NET Core por Avanade Nederland
Introduction to ASP.NET CoreIntroduction to ASP.NET Core
Introduction to ASP.NET Core
Avanade Nederland3.8K visualizações
Dot Net Core por Amir Barylko
Dot Net CoreDot Net Core
Dot Net Core
Amir Barylko2.4K visualizações
Nodejs presentation por Arvind Devaraj
Nodejs presentationNodejs presentation
Nodejs presentation
Arvind Devaraj8.8K visualizações
Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T... por Edureka!
Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...
Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...
Edureka!3K visualizações
Web api por Sudhakar Sharma
Web apiWeb api
Web api
Sudhakar Sharma17.8K visualizações
Introduction Node.js por Erik van Appeldoorn
Introduction Node.jsIntroduction Node.js
Introduction Node.js
Erik van Appeldoorn15.3K visualizações
.NET Core, ASP.NET Core Course, Session 6 por aminmesbahi
.NET Core, ASP.NET Core Course, Session 6.NET Core, ASP.NET Core Course, Session 6
.NET Core, ASP.NET Core Course, Session 6
aminmesbahi483 visualizações
Microsoft dot net framework por Ashish Verma
Microsoft dot net frameworkMicrosoft dot net framework
Microsoft dot net framework
Ashish Verma3.6K visualizações
ASP.NET Presentation por dimuthu22
ASP.NET PresentationASP.NET Presentation
ASP.NET Presentation
dimuthu225K visualizações
ASP.NET MVC Presentation por ivpol
ASP.NET MVC PresentationASP.NET MVC Presentation
ASP.NET MVC Presentation
ivpol23.6K visualizações
Asp.Net Core MVC , Razor page , Entity Framework Core por mohamed elshafey
Asp.Net Core MVC , Razor page , Entity Framework CoreAsp.Net Core MVC , Razor page , Entity Framework Core
Asp.Net Core MVC , Razor page , Entity Framework Core
mohamed elshafey372 visualizações
C sharp por sanjay joshi
C sharpC sharp
C sharp
sanjay joshi975 visualizações
.Net framework vs .net core a complete comparison por Katy Slemon
.Net framework vs .net core  a complete comparison.Net framework vs .net core  a complete comparison
.Net framework vs .net core a complete comparison
Katy Slemon106 visualizações
Docker introduction por dotCloud
Docker introductionDocker introduction
Docker introduction
dotCloud455.8K visualizações
Introduction to Node.js por Rob O'Doherty
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.js
Rob O'Doherty2.9K visualizações
.Net Core 1.0 vs .NET Framework por Wyn B. Van Devanter
.Net Core 1.0 vs .NET Framework.Net Core 1.0 vs .NET Framework
.Net Core 1.0 vs .NET Framework
Wyn B. Van Devanter1.3K visualizações
Kubernetes Application Deployment with Helm - A beginner Guide! por Krishna-Kumar
Kubernetes Application Deployment with Helm - A beginner Guide!Kubernetes Application Deployment with Helm - A beginner Guide!
Kubernetes Application Deployment with Helm - A beginner Guide!
Krishna-Kumar 2.3K visualizações
Tomcat por Venkat Pinagadi
TomcatTomcat
Tomcat
Venkat Pinagadi4.8K visualizações

Destaque

ASP.NET Core 1.0 Overview por
ASP.NET Core 1.0 OverviewASP.NET Core 1.0 Overview
ASP.NET Core 1.0 OverviewShahed Chowdhuri
7K visualizações54 slides
Getting Started with ASP.net Core 1.0 por
Getting Started with ASP.net Core 1.0Getting Started with ASP.net Core 1.0
Getting Started with ASP.net Core 1.0joescars
5.3K visualizações29 slides
ASP.NET Core 1.0 Overview: Post-RC2 por
ASP.NET Core 1.0 Overview: Post-RC2ASP.NET Core 1.0 Overview: Post-RC2
ASP.NET Core 1.0 Overview: Post-RC2Shahed Chowdhuri
4.4K visualizações56 slides
ASP.NET Core MVC + Web API with Overview por
ASP.NET Core MVC + Web API with OverviewASP.NET Core MVC + Web API with Overview
ASP.NET Core MVC + Web API with OverviewShahed Chowdhuri
8.2K visualizações22 slides
Dia 01 - Workshop ASP.NET CORE 1.1 por
Dia 01 - Workshop ASP.NET CORE 1.1Dia 01 - Workshop ASP.NET CORE 1.1
Dia 01 - Workshop ASP.NET CORE 1.1Rodrigo Kono
1.8K visualizações19 slides
Netcore - Emergic MailArray - Email Archiving & Compliance Solution por
Netcore - Emergic MailArray - Email Archiving & Compliance SolutionNetcore - Emergic MailArray - Email Archiving & Compliance Solution
Netcore - Emergic MailArray - Email Archiving & Compliance SolutionNetcore Solutions
2.1K visualizações26 slides

Destaque(20)

ASP.NET Core 1.0 Overview por Shahed Chowdhuri
ASP.NET Core 1.0 OverviewASP.NET Core 1.0 Overview
ASP.NET Core 1.0 Overview
Shahed Chowdhuri7K visualizações
Getting Started with ASP.net Core 1.0 por joescars
Getting Started with ASP.net Core 1.0Getting Started with ASP.net Core 1.0
Getting Started with ASP.net Core 1.0
joescars5.3K visualizações
ASP.NET Core 1.0 Overview: Post-RC2 por Shahed Chowdhuri
ASP.NET Core 1.0 Overview: Post-RC2ASP.NET Core 1.0 Overview: Post-RC2
ASP.NET Core 1.0 Overview: Post-RC2
Shahed Chowdhuri4.4K visualizações
ASP.NET Core MVC + Web API with Overview por Shahed Chowdhuri
ASP.NET Core MVC + Web API with OverviewASP.NET Core MVC + Web API with Overview
ASP.NET Core MVC + Web API with Overview
Shahed Chowdhuri8.2K visualizações
Dia 01 - Workshop ASP.NET CORE 1.1 por Rodrigo Kono
Dia 01 - Workshop ASP.NET CORE 1.1Dia 01 - Workshop ASP.NET CORE 1.1
Dia 01 - Workshop ASP.NET CORE 1.1
Rodrigo Kono1.8K visualizações
Netcore - Emergic MailArray - Email Archiving & Compliance Solution por Netcore Solutions
Netcore - Emergic MailArray - Email Archiving & Compliance SolutionNetcore - Emergic MailArray - Email Archiving & Compliance Solution
Netcore - Emergic MailArray - Email Archiving & Compliance Solution
Netcore Solutions2.1K visualizações
hostedexchange por netCORE Solutions
hostedexchangehostedexchange
hostedexchange
netCORE Solutions400 visualizações
Cross Platform Web Applications Using ASP.NET Core 1.0 por Lohith Goudagere Nagaraj
Cross Platform Web Applications Using ASP.NET Core 1.0Cross Platform Web Applications Using ASP.NET Core 1.0
Cross Platform Web Applications Using ASP.NET Core 1.0
Lohith Goudagere Nagaraj697 visualizações
Ais powerpoint (1) por Joshua McCarley
Ais powerpoint (1)Ais powerpoint (1)
Ais powerpoint (1)
Joshua McCarley502 visualizações
Prototípus-fejlesztés 3D nyomtatással (Balássy György és Takács Péter) por György Balássy
Prototípus-fejlesztés 3D nyomtatással (Balássy György és Takács Péter)Prototípus-fejlesztés 3D nyomtatással (Balássy György és Takács Péter)
Prototípus-fejlesztés 3D nyomtatással (Balássy György és Takács Péter)
György Balássy288 visualizações
Enterprise Developer Meetup bevezető (2015.01.28.) por György Balássy
Enterprise Developer Meetup bevezető (2015.01.28.)Enterprise Developer Meetup bevezető (2015.01.28.)
Enterprise Developer Meetup bevezető (2015.01.28.)
György Balássy443 visualizações
XXI. századi szoftverfejlesztés por György Balássy
XXI. századi szoftverfejlesztésXXI. századi szoftverfejlesztés
XXI. századi szoftverfejlesztés
György Balássy639 visualizações
Windows a dobozban, avagy IoT fejlesztés C#-ban por György Balássy
Windows a dobozban, avagy IoT fejlesztés C#-banWindows a dobozban, avagy IoT fejlesztés C#-ban
Windows a dobozban, avagy IoT fejlesztés C#-ban
György Balássy438 visualizações
TypeScript: Tényleg ez lenne a fájdalommentes JavaScript? por György Balássy
TypeScript: Tényleg ez lenne a fájdalommentes JavaScript?TypeScript: Tényleg ez lenne a fájdalommentes JavaScript?
TypeScript: Tényleg ez lenne a fájdalommentes JavaScript?
György Balássy344 visualizações
IIS 7.5 webszerver újdonságok por György Balássy
IIS 7.5 webszerver újdonságokIIS 7.5 webszerver újdonságok
IIS 7.5 webszerver újdonságok
György Balássy449 visualizações
.NET Core 1.0 por Akira Inoue
.NET Core 1.0.NET Core 1.0
.NET Core 1.0
Akira Inoue543 visualizações
A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai por György Balássy
A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalataiA mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai
A mi hackathonunk: Egy kihívásokkal teli IoT projekt tapasztalatai
György Balássy395 visualizações
The Craftsman Developer In An Agile World por OpenAgile Romania
The Craftsman Developer In An Agile WorldThe Craftsman Developer In An Agile World
The Craftsman Developer In An Agile World
OpenAgile Romania1.3K visualizações
Times Ten in-memory database when time counts - Laszlo Ludas por ORACLE USER GROUP ESTONIA
Times Ten in-memory database when time counts - Laszlo LudasTimes Ten in-memory database when time counts - Laszlo Ludas
Times Ten in-memory database when time counts - Laszlo Ludas
ORACLE USER GROUP ESTONIA2.4K visualizações

Similar a ASP.NET Core: The best of the new bits

.NET framework vs .net core 3.1 commons &amp; differences por
 .NET framework vs .net core 3.1  commons &amp; differences .NET framework vs .net core 3.1  commons &amp; differences
.NET framework vs .net core 3.1 commons &amp; differencesAlina Vilk
43 visualizações25 slides
.Net: Introduction, trends and future por
.Net: Introduction, trends and future.Net: Introduction, trends and future
.Net: Introduction, trends and futureBishnu Rawal
109 visualizações33 slides
Raffaele Rialdi por
Raffaele RialdiRaffaele Rialdi
Raffaele RialdiCodeFest
353 visualizações19 slides
AWS Summit Auckland - Moving MS .NET Applications One Container at a Time por
AWS Summit Auckland - Moving MS .NET Applications One Container at a TimeAWS Summit Auckland - Moving MS .NET Applications One Container at a Time
AWS Summit Auckland - Moving MS .NET Applications One Container at a TimeAmazon Web Services
340 visualizações31 slides
Visual studio 2015 and .net core 5 – get ready to rumble por
Visual studio 2015 and .net core 5  – get ready to rumbleVisual studio 2015 and .net core 5  – get ready to rumble
Visual studio 2015 and .net core 5 – get ready to rumbleTadeusz Balcer
325 visualizações28 slides
Introduction to .NET Core & ASP.NET Core MVC por
Introduction to .NET Core & ASP.NET Core MVCIntroduction to .NET Core & ASP.NET Core MVC
Introduction to .NET Core & ASP.NET Core MVCSaineshwar bageri
654 visualizações16 slides

Similar a ASP.NET Core: The best of the new bits(20)

.NET framework vs .net core 3.1 commons &amp; differences por Alina Vilk
 .NET framework vs .net core 3.1  commons &amp; differences .NET framework vs .net core 3.1  commons &amp; differences
.NET framework vs .net core 3.1 commons &amp; differences
Alina Vilk43 visualizações
.Net: Introduction, trends and future por Bishnu Rawal
.Net: Introduction, trends and future.Net: Introduction, trends and future
.Net: Introduction, trends and future
Bishnu Rawal109 visualizações
Raffaele Rialdi por CodeFest
Raffaele RialdiRaffaele Rialdi
Raffaele Rialdi
CodeFest353 visualizações
AWS Summit Auckland - Moving MS .NET Applications One Container at a Time por Amazon Web Services
AWS Summit Auckland - Moving MS .NET Applications One Container at a TimeAWS Summit Auckland - Moving MS .NET Applications One Container at a Time
AWS Summit Auckland - Moving MS .NET Applications One Container at a Time
Amazon Web Services340 visualizações
Visual studio 2015 and .net core 5 – get ready to rumble por Tadeusz Balcer
Visual studio 2015 and .net core 5  – get ready to rumbleVisual studio 2015 and .net core 5  – get ready to rumble
Visual studio 2015 and .net core 5 – get ready to rumble
Tadeusz Balcer325 visualizações
Introduction to .NET Core & ASP.NET Core MVC por Saineshwar bageri
Introduction to .NET Core & ASP.NET Core MVCIntroduction to .NET Core & ASP.NET Core MVC
Introduction to .NET Core & ASP.NET Core MVC
Saineshwar bageri654 visualizações
Moving microsoft .net applications one container at a time por Amazon Web Services
 Moving microsoft .net applications one container at a time  Moving microsoft .net applications one container at a time
Moving microsoft .net applications one container at a time
Amazon Web Services1.7K visualizações
.NET Core, ASP.NET Core Course, Session 1 por aminmesbahi
.NET Core, ASP.NET Core Course, Session 1.NET Core, ASP.NET Core Course, Session 1
.NET Core, ASP.NET Core Course, Session 1
aminmesbahi361 visualizações
Porting Projects to .NET 5 por Immo Landwerth
Porting Projects to .NET 5Porting Projects to .NET 5
Porting Projects to .NET 5
Immo Landwerth246 visualizações
Pottnet MeetUp Essen - ASP.Net Core por Malte Lantin
Pottnet MeetUp Essen - ASP.Net CorePottnet MeetUp Essen - ASP.Net Core
Pottnet MeetUp Essen - ASP.Net Core
Malte Lantin266 visualizações
Pottnet Meetup Essen - ASP.Net Core por Malte Lantin
Pottnet Meetup Essen - ASP.Net CorePottnet Meetup Essen - ASP.Net Core
Pottnet Meetup Essen - ASP.Net Core
Malte Lantin153 visualizações
1..Net Framework Architecture-(c#) por Shoaib Ghachi
1..Net Framework Architecture-(c#)1..Net Framework Architecture-(c#)
1..Net Framework Architecture-(c#)
Shoaib Ghachi71 visualizações
Modern Web-site Development Pipeline por GlobalLogic Ukraine
Modern Web-site Development PipelineModern Web-site Development Pipeline
Modern Web-site Development Pipeline
GlobalLogic Ukraine823 visualizações
NET core 2 e i fratelli por Andrea Tosato
NET core 2 e i fratelliNET core 2 e i fratelli
NET core 2 e i fratelli
Andrea Tosato85 visualizações
ASP.NET Core 1.0 Overview: Pre-RC2 por Shahed Chowdhuri
ASP.NET Core 1.0 Overview: Pre-RC2ASP.NET Core 1.0 Overview: Pre-RC2
ASP.NET Core 1.0 Overview: Pre-RC2
Shahed Chowdhuri4.8K visualizações
Deploy an Asp.Net Core App on Azure por Michele Aponte
Deploy an Asp.Net Core App on AzureDeploy an Asp.Net Core App on Azure
Deploy an Asp.Net Core App on Azure
Michele Aponte335 visualizações
Deploy a Website in Azure using ARM Templates por Pratik Khasnabis
Deploy a Website in Azure using ARM TemplatesDeploy a Website in Azure using ARM Templates
Deploy a Website in Azure using ARM Templates
Pratik Khasnabis197 visualizações
Crack mcts.com por Naveen Sihag
Crack mcts.comCrack mcts.com
Crack mcts.com
Naveen Sihag3.8K visualizações
Academy PRO: .NET Core intro por Binary Studio
Academy PRO: .NET Core introAcademy PRO: .NET Core intro
Academy PRO: .NET Core intro
Binary Studio125 visualizações
tutorials-visual-studio_visual-studio-2015-preview-comes-with-emulator-for-an... por Anil Sharma
tutorials-visual-studio_visual-studio-2015-preview-comes-with-emulator-for-an...tutorials-visual-studio_visual-studio-2015-preview-comes-with-emulator-for-an...
tutorials-visual-studio_visual-studio-2015-preview-comes-with-emulator-for-an...
Anil Sharma990 visualizações

Mais de Ken Cenerelli

ASP.NET Core deployment options por
ASP.NET Core deployment optionsASP.NET Core deployment options
ASP.NET Core deployment optionsKen Cenerelli
753 visualizações29 slides
No SQL, No Problem: Use Azure DocumentDB por
No SQL, No Problem: Use Azure DocumentDBNo SQL, No Problem: Use Azure DocumentDB
No SQL, No Problem: Use Azure DocumentDBKen Cenerelli
887 visualizações38 slides
Azure app service to create web and mobile apps por
Azure app service to create web and mobile appsAzure app service to create web and mobile apps
Azure app service to create web and mobile appsKen Cenerelli
1.9K visualizações45 slides
Analyze Your Code With Visual Studio 2015 Diagnostic Tools por
Analyze Your Code With Visual Studio 2015 Diagnostic ToolsAnalyze Your Code With Visual Studio 2015 Diagnostic Tools
Analyze Your Code With Visual Studio 2015 Diagnostic ToolsKen Cenerelli
640 visualizações24 slides
Azure Data Storage por
Azure Data StorageAzure Data Storage
Azure Data StorageKen Cenerelli
1.3K visualizações78 slides
Building high performance software with Microsoft Application Insights por
Building high performance software with Microsoft Application InsightsBuilding high performance software with Microsoft Application Insights
Building high performance software with Microsoft Application InsightsKen Cenerelli
821 visualizações21 slides

Mais de Ken Cenerelli(14)

ASP.NET Core deployment options por Ken Cenerelli
ASP.NET Core deployment optionsASP.NET Core deployment options
ASP.NET Core deployment options
Ken Cenerelli753 visualizações
No SQL, No Problem: Use Azure DocumentDB por Ken Cenerelli
No SQL, No Problem: Use Azure DocumentDBNo SQL, No Problem: Use Azure DocumentDB
No SQL, No Problem: Use Azure DocumentDB
Ken Cenerelli887 visualizações
Azure app service to create web and mobile apps por Ken Cenerelli
Azure app service to create web and mobile appsAzure app service to create web and mobile apps
Azure app service to create web and mobile apps
Ken Cenerelli1.9K visualizações
Analyze Your Code With Visual Studio 2015 Diagnostic Tools por Ken Cenerelli
Analyze Your Code With Visual Studio 2015 Diagnostic ToolsAnalyze Your Code With Visual Studio 2015 Diagnostic Tools
Analyze Your Code With Visual Studio 2015 Diagnostic Tools
Ken Cenerelli640 visualizações
Azure Data Storage por Ken Cenerelli
Azure Data StorageAzure Data Storage
Azure Data Storage
Ken Cenerelli1.3K visualizações
Building high performance software with Microsoft Application Insights por Ken Cenerelli
Building high performance software with Microsoft Application InsightsBuilding high performance software with Microsoft Application Insights
Building high performance software with Microsoft Application Insights
Ken Cenerelli821 visualizações
An Introduction to Universal Windows Apps por Ken Cenerelli
An Introduction to Universal Windows AppsAn Introduction to Universal Windows Apps
An Introduction to Universal Windows Apps
Ken Cenerelli961 visualizações
Build end-to-end video experiences with Azure Media Services por Ken Cenerelli
Build end-to-end video experiences with Azure Media ServicesBuild end-to-end video experiences with Azure Media Services
Build end-to-end video experiences with Azure Media Services
Ken Cenerelli3.7K visualizações
Cloud Powered Mobile Apps with Azure por Ken Cenerelli
Cloud Powered Mobile Apps with AzureCloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps with Azure
Ken Cenerelli876 visualizações
Building Windows 8.1 Apps with Mobile Services por Ken Cenerelli
Building Windows 8.1 Apps with Mobile ServicesBuilding Windows 8.1 Apps with Mobile Services
Building Windows 8.1 Apps with Mobile Services
Ken Cenerelli729 visualizações
Maximizing code reuse between Windows Phone 8 and Windows 8 (That Conference ... por Ken Cenerelli
Maximizing code reuse between Windows Phone 8 and Windows 8 (That Conference ...Maximizing code reuse between Windows Phone 8 and Windows 8 (That Conference ...
Maximizing code reuse between Windows Phone 8 and Windows 8 (That Conference ...
Ken Cenerelli1.5K visualizações
Maximizing code reuse between Windows Phone 8 and Windows 8 (DevTeach Toronto... por Ken Cenerelli
Maximizing code reuse between Windows Phone 8 and Windows 8 (DevTeach Toronto...Maximizing code reuse between Windows Phone 8 and Windows 8 (DevTeach Toronto...
Maximizing code reuse between Windows Phone 8 and Windows 8 (DevTeach Toronto...
Ken Cenerelli1.1K visualizações
An Introduction to Windows Phone 7 Development por Ken Cenerelli
An Introduction to Windows Phone 7 DevelopmentAn Introduction to Windows Phone 7 Development
An Introduction to Windows Phone 7 Development
Ken Cenerelli472 visualizações
Introduction To Umbraco por Ken Cenerelli
Introduction To UmbracoIntroduction To Umbraco
Introduction To Umbraco
Ken Cenerelli3.4K visualizações

Último

Data Integrity for Banking and Financial Services por
Data Integrity for Banking and Financial ServicesData Integrity for Banking and Financial Services
Data Integrity for Banking and Financial ServicesPrecisely
21 visualizações26 slides
MVP and prioritization.pdf por
MVP and prioritization.pdfMVP and prioritization.pdf
MVP and prioritization.pdfrahuldharwal141
31 visualizações8 slides
Business Analyst Series 2023 - Week 3 Session 5 por
Business Analyst Series 2023 -  Week 3 Session 5Business Analyst Series 2023 -  Week 3 Session 5
Business Analyst Series 2023 - Week 3 Session 5DianaGray10
248 visualizações20 slides
SAP Automation Using Bar Code and FIORI.pdf por
SAP Automation Using Bar Code and FIORI.pdfSAP Automation Using Bar Code and FIORI.pdf
SAP Automation Using Bar Code and FIORI.pdfVirendra Rai, PMP
23 visualizações38 slides
Melek BEN MAHMOUD.pdf por
Melek BEN MAHMOUD.pdfMelek BEN MAHMOUD.pdf
Melek BEN MAHMOUD.pdfMelekBenMahmoud
14 visualizações1 slide
Network Source of Truth and Infrastructure as Code revisited por
Network Source of Truth and Infrastructure as Code revisitedNetwork Source of Truth and Infrastructure as Code revisited
Network Source of Truth and Infrastructure as Code revisitedNetwork Automation Forum
26 visualizações45 slides

Último(20)

Data Integrity for Banking and Financial Services por Precisely
Data Integrity for Banking and Financial ServicesData Integrity for Banking and Financial Services
Data Integrity for Banking and Financial Services
Precisely21 visualizações
MVP and prioritization.pdf por rahuldharwal141
MVP and prioritization.pdfMVP and prioritization.pdf
MVP and prioritization.pdf
rahuldharwal14131 visualizações
Business Analyst Series 2023 - Week 3 Session 5 por DianaGray10
Business Analyst Series 2023 -  Week 3 Session 5Business Analyst Series 2023 -  Week 3 Session 5
Business Analyst Series 2023 - Week 3 Session 5
DianaGray10248 visualizações
SAP Automation Using Bar Code and FIORI.pdf por Virendra Rai, PMP
SAP Automation Using Bar Code and FIORI.pdfSAP Automation Using Bar Code and FIORI.pdf
SAP Automation Using Bar Code and FIORI.pdf
Virendra Rai, PMP23 visualizações
Melek BEN MAHMOUD.pdf por MelekBenMahmoud
Melek BEN MAHMOUD.pdfMelek BEN MAHMOUD.pdf
Melek BEN MAHMOUD.pdf
MelekBenMahmoud14 visualizações
Network Source of Truth and Infrastructure as Code revisited por Network Automation Forum
Network Source of Truth and Infrastructure as Code revisitedNetwork Source of Truth and Infrastructure as Code revisited
Network Source of Truth and Infrastructure as Code revisited
Network Automation Forum26 visualizações
Microsoft Power Platform.pptx por Uni Systems S.M.S.A.
Microsoft Power Platform.pptxMicrosoft Power Platform.pptx
Microsoft Power Platform.pptx
Uni Systems S.M.S.A.53 visualizações
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院 por IttrainingIttraining
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
IttrainingIttraining52 visualizações
PRODUCT LISTING.pptx por angelicacueva6
PRODUCT LISTING.pptxPRODUCT LISTING.pptx
PRODUCT LISTING.pptx
angelicacueva614 visualizações
STKI Israeli Market Study 2023 corrected forecast 2023_24 v3.pdf por Dr. Jimmy Schwarzkopf
STKI Israeli Market Study 2023   corrected forecast 2023_24 v3.pdfSTKI Israeli Market Study 2023   corrected forecast 2023_24 v3.pdf
STKI Israeli Market Study 2023 corrected forecast 2023_24 v3.pdf
Dr. Jimmy Schwarzkopf19 visualizações
STPI OctaNE CoE Brochure.pdf por madhurjyapb
STPI OctaNE CoE Brochure.pdfSTPI OctaNE CoE Brochure.pdf
STPI OctaNE CoE Brochure.pdf
madhurjyapb14 visualizações
Piloting & Scaling Successfully With Microsoft Viva por Richard Harbridge
Piloting & Scaling Successfully With Microsoft VivaPiloting & Scaling Successfully With Microsoft Viva
Piloting & Scaling Successfully With Microsoft Viva
Richard Harbridge12 visualizações
Ransomware is Knocking your Door_Final.pdf por Security Bootcamp
Ransomware is Knocking your Door_Final.pdfRansomware is Knocking your Door_Final.pdf
Ransomware is Knocking your Door_Final.pdf
Security Bootcamp55 visualizações
Info Session November 2023.pdf por AleksandraKoprivica4
Info Session November 2023.pdfInfo Session November 2023.pdf
Info Session November 2023.pdf
AleksandraKoprivica412 visualizações
6g - REPORT.pdf por Liveplex
6g - REPORT.pdf6g - REPORT.pdf
6g - REPORT.pdf
Liveplex10 visualizações

ASP.NET Core: The best of the new bits

  • 1. ASP.NET Core: The best of the new bits Ken Cenerelli
  • 2. About Me Twitter: @KenCenerelli Email: Ken_Cenerelli@Outlook.com Blog: kencenerelli.wordpress.com LinkedIn: linkedin.com/in/kencenerelli Bio:  Programmer Writer / Content Developer  Microsoft MVP - Visual Studio and Development Technologies  Microsoft TechNet Wiki Guru  Co-Organizer of CTTDNUG  Technical reviewer of multiple books CTTDNUG Ken Cenerelli
  • 4. .NET 2016 – 10K foot view Next gen JIT (RyuJIT) SIMD Runtime Components Compilers .NET Compiler Platform (Roslyn) Languages innovation .NET Core 1.0 Libraries .NET Framework 4.6 Libraries NuGet packages .NET Framework 4.6 .NET Core 1.0 Full .NET Framework for any scenario and library support on Windows Modular libraries & runtime optimized for server and cloud workloads
  • 5. About .NET Core • .NET Core is a subset of the .NET Framework • Many .NET Framework components are not in .NET Core • .NET Core is completely modularized. Each component is distributed via NuGet • Apps can be updated independently and do not rely on major framework releases • Deployment package includes everything needed to run • .NET Core will run on Linux, Windows, and OSX 5
  • 6. Two parts of .NET Core •Runtime/Libraries: • CLR, libraries, compilers, etc. • Won’t change before RTM •Tooling: • Supports .NET Core and ASP.NET Core, including the new command line tools and bits that plug into Visual Studio & Visual Studio Code • Will change before RTM 6
  • 7. Differences 7 Feature .NET Framework .NET Core Library Installation Centralised Distributed with each app Updates One big update. You better get your app ready Updates to framework are independent of app. Update NuGet packages when you are ready Platforms Windows is the only one for me I love everyone! Windows, OSX, Linux Base Class Library All the things! You get the entire BCL All the things! You get the entire BCL Credit: https://gooroo.io/GoorooTHINK/Article/16732/Introduction-to-NET-Core/22177
  • 10. Visual Studio 2015 and ASP.NET Core: Support for npm, bower, gulp, grunt, etc. npm bower grunt gulp
  • 11. Responsive and plug-in free http://bradfrost.com/blog/post/this-is-the-web/
  • 12. Responsive and plug-in free http://bradfrost.com/blog/post/this-is-the-web/
  • 13. Responsive and plug-in free http://bradfrost.com/blog/post/this-is-the-web/
  • 15. What about ASP.NET 5? • ASP.NET Core 1.0 was previously called ASP.NET 5 • It was renamed in January 2016 • You may still see it referred to as ASP.NET 5 in Visual Studio and in some docs • Was updated in latest ASP.NET Core Release Candidate 2
  • 16. ASP.NET 4.6 and ASP.NET Core 1.0
  • 17. ASP.NET Core 1.0 Roadmap https://github.com/aspnet/home/wiki/roadmap Milestone Release week Beta6 27 Jul 2015 Beta7 2 Sep 2015 Beta8 15 Oct 2015 RC1 Nov 2015 RC2 mid-May 2016 1.0.0 late-June 2016
  • 18. .NET 2016 – 10K foot view Next gen JIT (RyuJIT) SIMD Runtime Components Compilers .NET Compiler Platform (Roslyn) Languages innovation .NET Core 1.0 Libraries .NET Framework 4.6 Libraries NuGet packages .NET Framework 4.6 .NET Core 1.0 Full .NET Framework for any scenario and library support on Windows Modular libraries & runtime optimized for server and cloud workloads
  • 19. ASP.NET 2016 in a Nutshell .NET Framework 4.6 .NET Core 1.0 Full .NET Framework for any scenario and library support on Windows Modular libraries & runtime optimized for server and cloud workloads
  • 20. ASP.NET Core 1.0 – Key Values Choose your Editors and Tools Open Source with Contributions Cross-PlatformOSS Seamless transition from on-premises to cloud Faster Development CycleTotally Modular Fast
  • 21. ASP.NET Core ~ What is it? 21 • ASP.NET Core 1.0 is a console app • In RC1, an ASP.NET application was a class library that contained a Startup.cs class • As of RC2, an ASP.NET Core application is a .NET Core Console application that calls into ASP.NET specific libraries • So code that used to live in the ASP.NET Hosting libraries and automatically runs your Startup.cs now lives inside a Program.cs
  • 22. ASP.NET Core ~ The features • Hosting • Kestrel, Startup • Middleware • Routing, authentication, static files, diagnostics, error handling, session, CORS, localization, custom • Dependency Injection • Configuration • Logging • Identity 22
  • 23. ASP.NET Core ~ Which editors & IDEs? •Visual Studio 2015 Update 2 including Community •Visual Studio Code with C# extension •An OmniSharp-enabled editor: 23 • Atom • Emacs • Brackets • Sublime Text • Yeoman • Vim
  • 24. ASP.NET Core ~ What can you do? •ASP.NET • MVC Web Apps in C# • Web API apps • Console apps • .NET Core compatible class library •Signal R and Web Pages are coming after RTM 24
  • 26. ASP.NET Core MVC •One set of concepts – remove duplication •Web UI and Web APIs •Built on ASP.NET Core •Supports .NET Core •Runs on IIS or self-hosted •Deep integration with DI 26
  • 27. OWIN (Open Web Interface for .NET) • OWIN in an open, community owned specification • OWIN defines pluggable middleware and hosting • ASP.NET 4.5 and ASP.NET Core 1.0 both support OWIN
  • 28. Deployment portability •Two main models: • Portable Apps • Self-contained Apps 28
  • 29. Portable Apps •Default application type in .NET Core •Require .NET Core to be installed on the target machine •Your application is portable between installations of .NET Core •No need to decide upfront which OSes your app will run on 29
  • 30. Self-contained Apps •All app dependencies, including the .NET Core runtime, is part of the application •The app is larger, but also capable of running on any .NET Core supported platforms with the correct native dependencies •Need to make an explicit choice which platforms your application needs to run on during dev 30
  • 31. Setting Portability • Portable: • Self Contained: • Target .NET Core libraries in project.json • Remove any "type": "platform" properties • Add a runtimes node in your project.json • • 31
  • 33. What’s new in ASP.NET Core RC2? •.NET CLI (SDK) and IDE updates •Tag Helpers •IIS support baked in •Host RC2 apps in Azure App Service •Docker support with a new version of Docker Tools for Visual Studio 2015 33
  • 34. ASP.NET Core SDK 34 •The .NET Core SDK includes enough software to build an app •The SDK gives you both the .NET Core Tools and a copy of .NET Core •https://www.microsoft.com/net/core#windows
  • 35. Demo ASP.NET Core 1.0 from the SDK
  • 36. ASP.NET Core IDE •The best way to develop with .NET Core on Windows is to download the Visual Studio official MSI Installer and the latest NuGet Manager extension for Visual Studio •https://www.microsoft.com/net/core#windows 36
  • 37. Demo ASP.NET Core 1.0 from the IDE
  • 38. TagHelpers: Evolution of HTML Forms • HTML helpers expressed as tags Ex. Instead of: @Html.LabelFor(m => m.UserName, new { @class = "col-md-2 control-label" }) Write this: <label asp-for="UserName" class="col-md-2 control-label"></label> • Easier to customize with more attributes • Work seamlessly with the HTML editor • Markup now looks like HTML and it comes with full IntelliSense
  • 41. What about Entity Framework? •EF6.x most current and runs on .NET Framework 4.6 •Entity Framework 7 renamed to Entity Framework Core 1.0 •EF Core is a new code base that does not inherit all the features and API surface of EF6.x •EF6.x will continue to be a supported for some time 41
  • 42. When to use EF Core? •EF6.x will still be the most suitable choice for most applications •EF Core recommended for: • New applications that do not need features that are not yet implemented in EF Core • Applications that target .NET Core, such as Universal Windows Platform (UWP) and ASP.NET Core apps 42
  • 44. In ASP.NET 4.6 – Separate Stack
  • 45. In ASP.NET Core: API services are an ASP.NET Core feature
  • 46. Microsoft /web® Sample Read-only Model and Controller
  • 47. Microsoft /web® Read-only Controller Actions to return data

Notas do Editor

  1. Session goals: Explain what will be covered for the day Explain four foundational topics everyone needs to be familiar with to get started Visual Studio 2015 ASP.NET Core (previously know as ASP.NET 5) Package Managers – what they are, how they fit in with ASP.NET Azure – easy to sign up, activate MSDN benefits
  2. NuGet is similar to Maven .NET Core RC2 is supported on the following platforms. Red Hat Enterprise Linux 7.2 Centos 7.1 Debian 8.2+ Ubuntu 14.04 (16.04 support is coming at RTM) Linux Mint 17+ OS X 10.11 Windows 7+ / Windows Server 2012 R2+ Windows Nano Server TP5
  3. - The .NET Foundation includes representatives from, among others, Microsoft, GitHub, and Xamarin.
  4. npm is the default package manager for the JavaScript runtime environment Node.js. Bower is a package management system for client-side programming. Grunt is a JavaScript Task Runner. Gulp is a JavaScript automation tool. If you are using VS 2015 and ASP.NET 5, Visual Studio will install npm and gulp for you automatically.
  5. Source: http://bradfrost.com/blog/post/this-is-the-web/ Images are under Creative Commons Attribution License
  6. Source: http://bradfrost.com/blog/post/this-is-the-web/
  7. Source: http://bradfrost.com/blog/post/this-is-the-web/
  8. Key message: Differentiate the purpose and scenarios between .NET Framework and .NET Core. They Key point on .NET Core is that it’s self-contained and specialized on specific workloads. Make sure that we make the point that BOTH are valid. There is no decrease in investment on the .NET Framework side. Transition. There is a common shared layer to these 2 pieces ASP.NET Core is a new open-source and cross-platform framework for building modern cloud-based Web applications using .NET. ASP.NET 4.6 is the more mature platform. It's battle-tested and released and available today.
  9. Totally Modular – opt into the files you want Faster Development Cycles – no more compilation needed, just save and refresh Cloud – Seamless to the cloud Cross Platform for Windows, OS, and Linux Tools – Cross platform editing with VS Code Open Source – Totally OSS and open for contributions Fast – One of the fastest frameworks on planet
  10. This alignment means that a single .NET toolchain can be used for both .NET Core Console applications and ASP.NET Core applications. It also means that customers have more obvious control over the code that hosts and runs their ASP.NET Core app.
  11. Kestrel is a managed web server Startup defines what you want in your pipeline Middleware is asynchronous; Can write your own DI is built-in but can use Auto-Fac or Ninject Configuration: No web.config; can read from other sources like JSON or XML Identity for OAuth
  12. OmniSharp is a family of Open Source projects, each with one goal: To enable a great .NET experience in YOUR editor of choice VSCode is also an OmniSharp enabled editor
  13. - Unified web stack
  14. This slide introduces these features at a high level. The demo for these features is included in the next section.
  15. Anything bolded is a tag helper Uses HTML attributes instead of C#
  16. 1. We’ve seen how ASP.NET provides a common core which supports several different toolsets. 2. [click for first animation] On the left side, we have tools which produce HTML, which will be viewed in browsers by people. 3. [click for second animation] On the right, we have Web API, which produces other formats which are consumed by machines (represented by this happy robot) – JSON, XML, and other custom formats which are read by JavaScript code, other programs, other servers, etc.