SlideShare a Scribd company logo
ASP.NET Core 2.1
Shahed Chowdhuri
Sr. Technical Evangelist @ Microsoft
@shahedC
WakeUpAndCode.com
Cross-Platform Web Apps
Agenda
Introduction
> .NET (Framework & Core)
> ASP.NET Core
> Visual Studio & VS Code
References + Wrap-up
Introduction
ASP.NET
Info and Downloads: http://www.asp.net/
.NET for Cross-Platform Dev
.NET Info + Download: https://www.microsoft.com/net
.NET Across Windows/Web Platforms
http://blogs.msdn.com/b/dotnet/archive/2014/12/04/introducing-net-core.aspx
ASP.NET Core 2.1: The Future of Web Apps
.NET 3.0 in 2019 and Beyond…
https://blogs.msdn.microsoft.com/dotnet/2018/05/07/net-core-3-and-support-for-windows-desktop-applications
ASP.NET
Web API
Active
Server
Pages
(Classic
ASP)
ASP.NET
(Web
Forms)
ASP.NET
MVC
1/2/3/4/5
ASP.NET
Web Pages
Evolution of ASP and ASP .NET
ASP.NET
Core MVC
Unified
MVC, Web
API and
Razor
Web
Pages
Names & Version Numbers
C# 7.x in VS2017
https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/
Agenda
Introduction
> .NET (Framework & Core)
> ASP.NET Core
> Visual Studio & VS Code
References + Wrap-up
.NET Framework
& .NET Core
ASP.NET Core High-Level Overview
Compilation Process
What About .NET Framework 4.6+?
Core is
4.7
ASP .NET Core
ASP.NET Core Features
ASP.NET Core Summary
ASP .NET Core MVC
MVC Web App Basics
Controller
Model
View
User Requests
Updates
Model
Gets
Data
Updates
View
MVC (Web) Controllers
public class HumanController : Controller
{
private readonly ApplicationDbContext _context;
public HumanController(ApplicationDbContext context) {}
// GET: Human, Human/Details/5
public async Task<IActionResult> Index() {}
public async Task<IActionResult> Details(int? id) {}
// GET: Human/Create
public IActionResult Create() {}
// POST: Human
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Create([Bind("Id,FirstName,LastName")] Human human) {}
// GET: Human/Edit/5
public async Task<IActionResult> Edit(int? id) {}
// POST: Human/Edit/5
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Edit(int id, [Bind("Id,FirstName,LastName")] Human human) {}
}
MVC (API) Controllers
public class ValuesController : Controller
{
// GET: api/Values, api/Values/5
[HttpGet]
public IEnumerable<string> Get() {}
[HttpGet("{id}", Name = "Get")]
public string Get(int id) {}
// POST: api/Values
[HttpPost]
public void Post([FromBody]string value) {}
// PUT: api/Values/5
[HttpPut("{id}")]
public void Put(int id, [FromBody]string value) {}
// DELETE: api/ApiWithActions/5
[HttpDelete("{id}")]
public void Delete(int id) {}
}
MVC (Web) Views
@model NiceStackWeb.Models.Human
@{
ViewData["Title"] = "Details";
}
<h2>Details</h2>
<div>
<h4>Human</h4>
<hr />
<dl class="dl-horizontal">
<dt>
@Html.DisplayNameFor(model => model.FirstName)
</dt>
<dd>
@Html.DisplayFor(model => model.FirstName)
</dd> ...
</dl>
</div>
<div>
<a asp-action="Edit" asp-route-id="@Model.Id">Edit</a> |
<a asp-action="Index">Back to List</a>
</div>
MVC Models
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
public class Human
{
[Key]
public int Id { get; set; }
[DisplayName("First Name")]
public string FirstName { get; set; }
[DisplayName("First Name")]
public string LastName { get; set; }
}
New Razor Pages!
http://www.hishambinateya.com/welcome-razor-pages
Intro to Razor Pages
https://docs.microsoft.com/en-us/aspnet/core/mvc/razor-pages
Razor Syntax
SignalR in ASP.NET Core 2.1 (Stable!)
https://blogs.msdn.microsoft.com/webdev/2018/02/27/asp-net-core-2-1-0-preview1-getting-started-with-signalr
using Microsoft.AspNetCore.SignalR;
namespace SignalRTutorial.Hubs
{
[Authorize]
public class ChatHub : Hub
{
public override async Task OnConnectedAsync()
{
await Clients.All.SendAsync("SendAction", Context.User.Identity.Name, "joined");
}
public override async Task OnDisconnectedAsync(Exception ex)
{
await Clients.All.SendAsync("SendAction", Context.User.Identity.Name, "left");
}
public async Task Send(string message)
{
await Clients.All.SendAsync("SendMessage", Context.User.Identity.Name, message);
}
}
}
ASP.NET Core 2.1: What’s New?
http://www.talkingdotnet.com/quick-summary-whats-new-asp-net-core-2-1/
ASP.NET Core 2.1: What’s New?
http://www.talkingdotnet.com/quick-summary-whats-new-asp-net-core-2-1/
• Real-time web development
• New Typescript client, jQuery
• Built-in Hub protocols:
• JSON-based for text
• MessagePack for binary
• Improved scale-out model
• Sticky sessions required*
*required when using WebSockets unless
skipNegotiation flag is set to true
var connection = new
signalR.HubConnectionBuilder().withUrl("/chat",
{
skipNegotiation: true,
transport: signalR.HttpTransportType.WebSockets
})
.build();
ASP.NET Core 2.1: What’s New?
http://www.talkingdotnet.com/quick-summary-whats-new-asp-net-core-2-1/
• UseHttpsRedirection by default
• HSTS protocol support (non-dev)
• >dotnet dev-certs https --trust
ASP.NET Core 2.1: What’s New?
http://www.talkingdotnet.com/quick-summary-whats-new-asp-net-core-2-1/
• New ApiController attribute
• Auto model validation
ASP.NET Core 2.1: What’s New?
http://www.talkingdotnet.com/quick-summary-whats-new-asp-net-core-2-1/
• Rich Swagger support
• Easier API documentation
ASP.NET Core 2.1: What’s New?
http://www.talkingdotnet.com/quick-summary-whats-new-asp-net-core-2-1/
• New type ActionResult<T>
• Indicate response type for any
action result
ASP.NET Core 2.1: What’s New?
http://www.talkingdotnet.com/quick-summary-whats-new-asp-net-core-2-1/
• HttpClient as a service
• Register, configure, consume
HttpClient instances
ASP.NET Core 2.1: What’s New?
http://www.talkingdotnet.com/quick-summary-whats-new-asp-net-core-2-1/
• ASP.NET Core (native IIS) Module
• Hooks into IIS pipeline
• Improved Performance
ASP.NET Core 2.1: What’s New?
http://www.talkingdotnet.com/quick-summary-whats-new-asp-net-core-2-1/
• Default UI implemented in a library
• Available as NuGet package
• Enable via Startup class
ASP.NET Core 2.1: What’s New?
http://www.talkingdotnet.com/quick-summary-whats-new-asp-net-core-2-1/
• Compliance for EU General Data
Protection Regulation reqts
• Request user consent for info
ASP.NET Core 2.1: What’s New?
http://www.talkingdotnet.com/quick-summary-whats-new-asp-net-core-2-1/
• Mix authentication schemes
• e.g. Bearer tokens, cookie auth
ASP.NET Core 2.1: What’s New?
http://www.talkingdotnet.com/quick-summary-whats-new-asp-net-core-2-1/
• Compiled during build process
• Improved startup performance
ASP.NET Core 2.1: What’s New?
http://www.talkingdotnet.com/quick-summary-whats-new-asp-net-core-2-1/
• Razor UI as class library
• Share across projects
• Share as Nuget package
ASP.NET Core 2.1: What’s New?
http://www.talkingdotnet.com/quick-summary-whats-new-asp-net-core-2-1/
• Improved end-to-end testing
• e.g. routing, filters, controllers,
actions, views and pages
How about Entity Framework?
DB
ORM
Entities
in Code
Core
)
4.6+
4.6+
ASP.NET Core 2.1: The Future of Web Apps
Pluralsight Course by Julie Lerman
https://app.pluralsight.com/library/courses/entity-framework-core-2-getting-started
Visual Studio 2017
& VS Code
New Installer!
File  New Project  Web
• ASP .NET Core Web App
• Web App (4.x)
Select a Template
1.0 , 1.1, 2.0 or 2.1
• Empty
• API
• Web App (Razor)
• Web App (MVC)
• Angular
• React.js
• React.js & Redux
• Razor Class Library
Other settings:
• Authentication
• Docker Support
VS 2017 15.7 + ASP.NET Core 2.1
https://www.visualstudio.com/downloads
.NET Core SDK 2.1 RC1
https://www.microsoft.com/net/download/dotnet-core/sdk-2.1.300-rc1
Select a Template (VS 2017 15.7)
Includes:
ASP .NET Core 2.1
ASP.NET Core Runtime Extension on Azure
https://blogs.msdn.microsoft.com/webdev/2018/02/27/asp-net-core-2-1-0-preview1-using-asp-net-core-previews-on-azure-app-service/
Visual Studio Code
Download https://code.visualstudio.com
Startup.cs Configuration
project.json
.csproj project file 2.0
.csproj project file 2.1
Right-click  (Project) Properties
Choose Profile While Debugging
Live Unit Testing
https://blogs.msdn.microsoft.com/visualstudio/2016/11/18/live-unit-testing-visual-studio-2017-rc/
DEMO
Migrating from MVC to MVC Core
https://docs.microsoft.com/en-us/aspnet/core/migration/mvc
dotnet/cli on GitHub
This repo
contains
the .NET
Core
command-
line (CLI)
tools, used
for
building
.NET Core
apps and
libraries.
GitHub: https://github.com/dotnet/cli
.NET Core 2.x CLI Commands
https://docs.microsoft.com/en-us/dotnet/core/tools/?tabs=netcore2x
>dotnet --version
>dotnet --info
>dotnet new <TEMPLATE> --auth <AUTH_TYPE> -o <OUTPUT_DIR>
>dotnet new console -o MyConsoleApp
>dotnet new mvc --auth Individual -o MyMvcWebApp
>dotnet restore
>dotnet build
>dotnet run
<TEMPLATE> = web | mvc | razor | angular | react | webapi
<AUTH_TYPE> for mvc,razor = None | Individual | SingleOrg | Windows
Azure CLI Commands
https://docs.microsoft.com/en-us/azure/app-service/scripts/app-service-cli-deploy-github
>az login
>az group create -l <REGION> -n <RSG>
>az appservice plan create -g <RSG> -n <ASP> --sku <PLAN> (e.g. F1)
>az webapp create -g <RSG> -p <ASP> -n <APP>
>git init
>git add .
>git commit -m "<COMMIT MESSAGE>“
>az webapp deployment user set --user-name <USER>
>az webapp deployment source config-local-git -g <RSG> -n <APP> --out tsv
>git remote add azure <GIT URL>
>git push azure master
RESULT  http://<APP>.azurewebsites.net
GIT URL  https://<USER>@<APP>.scm.azurewebsites.net/<APP>.git
Agenda
Introduction
> .NET (Framework & Core)
> ASP.NET Core
> Visual Studio & VS Code
References + Wrap-up
References
& Wrap-up
Blog Sources
Scott Hanselman’s Blog: https://www.hanselman.com/blog/
.NET Web Dev Blog: https://blogs.msdn.microsoft.com/webdev/
Visual Studio 2017 Launch Videos
https://channel9.msdn.com/Events/Visual-Studio/Visual-Studio-2017-Launch?sort=viewed&direction=asc
Build 2017: ASP .NET Core 2.0
https://channel9.msdn.com/Events/Build/2017/b8048
.NET Core 2.1 Roadmap PT.1
https://channel9.msdn.com/Shows/On-NET/NET-Core-21-Roadmap-PT1
.NET Core 2.1 Roadmap PT.2
https://channel9.msdn.com/Shows/On-NET/NET-Core-21-Roadmap-PT2
Build Conference 2018 http://build.microsoft.com
Build 2018: ASP .NET Core 2.1
https://channel9.msdn.com/events/Build/2018/BRK2151
SignalR for ASP .NET Core 2.1
https://channel9.msdn.com/events/Build/2018/BRK2147
Jeff Fritz on YouTube
https://www.youtube.com/watch?v=--lYHxrsLsc
Other Video Sources
MSDN Channel 9: https://channel9.msdn.com
.NET Conf: http://www.dotnetconf.net
Docs + Tutorials
Tutorials: https://docs.microsoft.com/en-us/aspnet/core/tutorials/first-mvc-app/
Docs: https://blogs.msdn.microsoft.com/webdev/2017/02/07/asp-net-documentation-now-on-docs-microsoft-com/
ASP.NET Core 2.0 Release
https://blogs.msdn.microsoft.com/webdev/2017/08/14/announcing-asp-net-core-2-0/
ASP.NET Core 2.1 Roadmap
https://blogs.msdn.microsoft.com/webdev/2018/02/02/asp-net-core-2-1-roadmap/
.NET Core Roadmap
https://github.com/dotnet/core/blob/master/roadmap.md
ASP.NET Core 2.1 Released
https://blogs.msdn.microsoft.com/dotnet/2018/05/30/announcing-net-core-2-1/
References
• ASP .NET: http://www.asp.net
• .NET Core: https://www.microsoft.com/net
• .NET Web Dev Blog: https://blogs.msdn.microsoft.com/webdev
• Scott Hanselman’s Blog: https://www.hanselman.com/blog
• .NET Conf: http://www.dotnetconf.net
• MSDN Channel 9: https://channel9.msdn.com
• Tutorials: https://docs.microsoft.com/en-us/aspnet/core/tutorials/first-mvc-app
• C# 7: https://docs.microsoft.com/en-us/dotnet/articles/csharp/csharp-7
• ASP.NET Core Roadmap: https://github.com/aspnet/Home/wiki/Roadmap
• .NET Core Roadmap: https://github.com/dotnet/core/blob/master/roadmap.md
Other Resources
• New Razor Pages: http://www.hishambinateya.com/welcome-razor-pages
• Intro to Razor: https://docs.microsoft.com/en-us/aspnet/core/mvc/razor-pages
• Live Unit Testing: https://blogs.msdn.microsoft.com/visualstudio/2016/11/18/live-
unit-testing-visual-studio-2017-rc
• Migrating from MVC to MVC Core: https://docs.microsoft.com/en-
us/aspnet/core/migration/mvc
• Visual Studio Code: https://code.visualstudio.com
• dotnet/cli on GitHub: https://github.com/dotnet/cli
Q & A
Agenda
Introduction
> .NET (Framework & Core)
> ASP.NET Core
> Visual Studio & VS Code
References + Wrap-up
Email: shchowd@microsoft.com  Twitter: @shahedC

More Related Content

What's hot (20)

PPTX
Learning ASP.NET 5 and MVC 6
Ido Flatow
 
PPTX
PHP konferencija - Microsoft
nusmas
 
PPTX
Php On Windows
Guy Burstein
 
PDF
Getting Started with ASP.NET Core 1.0 (formerly ASP.NET 5)
Arrow Consulting & Design
 
PDF
Joe Staner Zend Con 2008
ZendCon
 
PDF
Asp.Net Core MVC , Razor page , Entity Framework Core
mohamed elshafey
 
PPTX
MVC 6 Introduction
Sudhakar Sharma
 
PPTX
Discuss About ASP.NET MVC 6 and ASP.NET MVC 5
Aaron Jacobson
 
PPT
OWIN (Open Web Interface for .NET)
Folio3 Software
 
PDF
Introduction to ASP.NET Core
Avanade Nederland
 
PPTX
Moving forward with ASP.NET Core
Enea Gabriel
 
PPTX
Evolution / History of ASP.NET
Anoop Kumar Sharma
 
PDF
Require js training
Dr. Awase Khirni Syed
 
PPTX
Microsoft Azure WebJobs
Kashif Imran
 
PPT
TDD with ASP.NET MVC 1.0
Shiju Varghese
 
PPTX
Owin and Katana
Ugo Lattanzi
 
PDF
Securing applications
ColdFusionConference
 
PPTX
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)
Chris O'Brien
 
PPTX
DEV208 - ASP.NET MVC 5 新功能探索
Will Huang
 
PPT
Introduction to ASP.NET MVC 1.0
Shiju Varghese
 
Learning ASP.NET 5 and MVC 6
Ido Flatow
 
PHP konferencija - Microsoft
nusmas
 
Php On Windows
Guy Burstein
 
Getting Started with ASP.NET Core 1.0 (formerly ASP.NET 5)
Arrow Consulting & Design
 
Joe Staner Zend Con 2008
ZendCon
 
Asp.Net Core MVC , Razor page , Entity Framework Core
mohamed elshafey
 
MVC 6 Introduction
Sudhakar Sharma
 
Discuss About ASP.NET MVC 6 and ASP.NET MVC 5
Aaron Jacobson
 
OWIN (Open Web Interface for .NET)
Folio3 Software
 
Introduction to ASP.NET Core
Avanade Nederland
 
Moving forward with ASP.NET Core
Enea Gabriel
 
Evolution / History of ASP.NET
Anoop Kumar Sharma
 
Require js training
Dr. Awase Khirni Syed
 
Microsoft Azure WebJobs
Kashif Imran
 
TDD with ASP.NET MVC 1.0
Shiju Varghese
 
Owin and Katana
Ugo Lattanzi
 
Securing applications
ColdFusionConference
 
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)
Chris O'Brien
 
DEV208 - ASP.NET MVC 5 新功能探索
Will Huang
 
Introduction to ASP.NET MVC 1.0
Shiju Varghese
 

Similar to ASP.NET Core 2.1: The Future of Web Apps (20)

PDF
ASP.NET vs ASP.NET Core
Öğr. Gör. Erkan HÜRNALI
 
PDF
Pottnet Meetup Essen - ASP.Net Core
Malte Lantin
 
PDF
Pottnet MeetUp Essen - ASP.Net Core
Malte Lantin
 
PPTX
ASP.NET Core 1.0
Ido Flatow
 
PPTX
ASP.NET Core 1.0 Overview
Shahed Chowdhuri
 
PPTX
ASP.NET Core 2.0: The Future of Web Apps
Shahed Chowdhuri
 
PPTX
ASP.NET Core 1.0 Overview: Pre-RC2
Shahed Chowdhuri
 
PPTX
ASP.NET Core 1.0 Overview: Post-RC2
Shahed Chowdhuri
 
PPTX
ASP.NET Core 1.0 Overview
Shahed Chowdhuri
 
PPTX
Unboxing ASP.NET Core
Kevin Leung
 
PDF
Asp.net core tutorial
HarikaReddy115
 
PPTX
Explore asp.net core 3.0 features
iFour Technolab Pvt. Ltd.
 
PPTX
ASP.NET Core - Phillosophies, Processes and Tooling
💻 Spencer Schneidenbach
 
PPTX
Quick Interview Preparation Dot Net Core
Karmanjay Verma
 
PPTX
.NET Overview & Roadmap
Microsoft Tech Community
 
PPTX
Intro to.net core 20170111
Christian Horsdal
 
PPTX
Full session asp net mvc vs aspnet core
fizmhd
 
PPTX
C#: Past, Present and Future
Rodolfo Finochietti
 
PPTX
What should you know about Net Core?
Damir Dobric
 
PPTX
What's New in ASP.NET Core 2.0
Jon Galloway
 
ASP.NET vs ASP.NET Core
Öğr. Gör. Erkan HÜRNALI
 
Pottnet Meetup Essen - ASP.Net Core
Malte Lantin
 
Pottnet MeetUp Essen - ASP.Net Core
Malte Lantin
 
ASP.NET Core 1.0
Ido Flatow
 
ASP.NET Core 1.0 Overview
Shahed Chowdhuri
 
ASP.NET Core 2.0: The Future of Web Apps
Shahed Chowdhuri
 
ASP.NET Core 1.0 Overview: Pre-RC2
Shahed Chowdhuri
 
ASP.NET Core 1.0 Overview: Post-RC2
Shahed Chowdhuri
 
ASP.NET Core 1.0 Overview
Shahed Chowdhuri
 
Unboxing ASP.NET Core
Kevin Leung
 
Asp.net core tutorial
HarikaReddy115
 
Explore asp.net core 3.0 features
iFour Technolab Pvt. Ltd.
 
ASP.NET Core - Phillosophies, Processes and Tooling
💻 Spencer Schneidenbach
 
Quick Interview Preparation Dot Net Core
Karmanjay Verma
 
.NET Overview & Roadmap
Microsoft Tech Community
 
Intro to.net core 20170111
Christian Horsdal
 
Full session asp net mvc vs aspnet core
fizmhd
 
C#: Past, Present and Future
Rodolfo Finochietti
 
What should you know about Net Core?
Damir Dobric
 
What's New in ASP.NET Core 2.0
Jon Galloway
 
Ad

More from Shahed Chowdhuri (20)

PPTX
Cloud-Backed Mixed Reality: HoloLens & Azure Cognitive Services
Shahed Chowdhuri
 
PPTX
Cloud-Backed Mixed Reality with HoloLens & Azure Cognitive Services
Shahed Chowdhuri
 
PPTX
Microsoft Cognitive Services
Shahed Chowdhuri
 
PPTX
Intro to Bot Framework v3 with DB
Shahed Chowdhuri
 
PPTX
Game On with Windows & Xbox One @ .NET Conf UY
Shahed Chowdhuri
 
PPTX
Game On with Windows & Xbox One!
Shahed Chowdhuri
 
PPTX
Going Serverless with Azure Functions
Shahed Chowdhuri
 
PPTX
Azure for Hackathons
Shahed Chowdhuri
 
PPTX
Intro to Xamarin: Cross-Platform Mobile Application Development
Shahed Chowdhuri
 
PPTX
Xbox One Dev Mode
Shahed Chowdhuri
 
PPTX
What's New at Microsoft?
Shahed Chowdhuri
 
PPTX
Capture the Cloud with Azure
Shahed Chowdhuri
 
PPTX
Intro to HoloLens Development + Windows Mixed Reality
Shahed Chowdhuri
 
PPTX
Intro to Bot Framework v3
Shahed Chowdhuri
 
PPTX
Azure: PaaS or IaaS
Shahed Chowdhuri
 
PPTX
Capture the Cloud with Azure
Shahed Chowdhuri
 
PPTX
Intro to HoloLens Development
Shahed Chowdhuri
 
PPTX
Intro to Bot Framework
Shahed Chowdhuri
 
PPTX
Xbox One Dev Mode
Shahed Chowdhuri
 
PPTX
Intro to Xamarin
Shahed Chowdhuri
 
Cloud-Backed Mixed Reality: HoloLens & Azure Cognitive Services
Shahed Chowdhuri
 
Cloud-Backed Mixed Reality with HoloLens & Azure Cognitive Services
Shahed Chowdhuri
 
Microsoft Cognitive Services
Shahed Chowdhuri
 
Intro to Bot Framework v3 with DB
Shahed Chowdhuri
 
Game On with Windows & Xbox One @ .NET Conf UY
Shahed Chowdhuri
 
Game On with Windows & Xbox One!
Shahed Chowdhuri
 
Going Serverless with Azure Functions
Shahed Chowdhuri
 
Azure for Hackathons
Shahed Chowdhuri
 
Intro to Xamarin: Cross-Platform Mobile Application Development
Shahed Chowdhuri
 
Xbox One Dev Mode
Shahed Chowdhuri
 
What's New at Microsoft?
Shahed Chowdhuri
 
Capture the Cloud with Azure
Shahed Chowdhuri
 
Intro to HoloLens Development + Windows Mixed Reality
Shahed Chowdhuri
 
Intro to Bot Framework v3
Shahed Chowdhuri
 
Azure: PaaS or IaaS
Shahed Chowdhuri
 
Capture the Cloud with Azure
Shahed Chowdhuri
 
Intro to HoloLens Development
Shahed Chowdhuri
 
Intro to Bot Framework
Shahed Chowdhuri
 
Xbox One Dev Mode
Shahed Chowdhuri
 
Intro to Xamarin
Shahed Chowdhuri
 
Ad

Recently uploaded (20)

PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PPTX
MSP360 Backup Scheduling and Retention Best Practices.pptx
MSP360
 
PDF
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PDF
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
AWS Chicago
 
PDF
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
Windsurf Meetup Ottawa 2025-07-12 - Planning Mode at Reliza.pdf
Pavel Shukhman
 
PPTX
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PDF
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
MSP360 Backup Scheduling and Retention Best Practices.pptx
MSP360
 
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
AWS Chicago
 
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Windsurf Meetup Ottawa 2025-07-12 - Planning Mode at Reliza.pdf
Pavel Shukhman
 
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 

ASP.NET Core 2.1: The Future of Web Apps

  • 1. ASP.NET Core 2.1 Shahed Chowdhuri Sr. Technical Evangelist @ Microsoft @shahedC WakeUpAndCode.com Cross-Platform Web Apps
  • 2. Agenda Introduction > .NET (Framework & Core) > ASP.NET Core > Visual Studio & VS Code References + Wrap-up
  • 4. ASP.NET Info and Downloads: http://www.asp.net/
  • 5. .NET for Cross-Platform Dev .NET Info + Download: https://www.microsoft.com/net
  • 6. .NET Across Windows/Web Platforms http://blogs.msdn.com/b/dotnet/archive/2014/12/04/introducing-net-core.aspx
  • 8. .NET 3.0 in 2019 and Beyond… https://blogs.msdn.microsoft.com/dotnet/2018/05/07/net-core-3-and-support-for-windows-desktop-applications
  • 9. ASP.NET Web API Active Server Pages (Classic ASP) ASP.NET (Web Forms) ASP.NET MVC 1/2/3/4/5 ASP.NET Web Pages Evolution of ASP and ASP .NET ASP.NET Core MVC Unified MVC, Web API and Razor Web Pages
  • 10. Names & Version Numbers
  • 11. C# 7.x in VS2017 https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/
  • 12. Agenda Introduction > .NET (Framework & Core) > ASP.NET Core > Visual Studio & VS Code References + Wrap-up
  • 16. What About .NET Framework 4.6+? Core is 4.7
  • 21. MVC Web App Basics Controller Model View User Requests Updates Model Gets Data Updates View
  • 22. MVC (Web) Controllers public class HumanController : Controller { private readonly ApplicationDbContext _context; public HumanController(ApplicationDbContext context) {} // GET: Human, Human/Details/5 public async Task<IActionResult> Index() {} public async Task<IActionResult> Details(int? id) {} // GET: Human/Create public IActionResult Create() {} // POST: Human [HttpPost] [ValidateAntiForgeryToken] public async Task<IActionResult> Create([Bind("Id,FirstName,LastName")] Human human) {} // GET: Human/Edit/5 public async Task<IActionResult> Edit(int? id) {} // POST: Human/Edit/5 [HttpPost] [ValidateAntiForgeryToken] public async Task<IActionResult> Edit(int id, [Bind("Id,FirstName,LastName")] Human human) {} }
  • 23. MVC (API) Controllers public class ValuesController : Controller { // GET: api/Values, api/Values/5 [HttpGet] public IEnumerable<string> Get() {} [HttpGet("{id}", Name = "Get")] public string Get(int id) {} // POST: api/Values [HttpPost] public void Post([FromBody]string value) {} // PUT: api/Values/5 [HttpPut("{id}")] public void Put(int id, [FromBody]string value) {} // DELETE: api/ApiWithActions/5 [HttpDelete("{id}")] public void Delete(int id) {} }
  • 24. MVC (Web) Views @model NiceStackWeb.Models.Human @{ ViewData["Title"] = "Details"; } <h2>Details</h2> <div> <h4>Human</h4> <hr /> <dl class="dl-horizontal"> <dt> @Html.DisplayNameFor(model => model.FirstName) </dt> <dd> @Html.DisplayFor(model => model.FirstName) </dd> ... </dl> </div> <div> <a asp-action="Edit" asp-route-id="@Model.Id">Edit</a> | <a asp-action="Index">Back to List</a> </div>
  • 25. MVC Models using System.ComponentModel; using System.ComponentModel.DataAnnotations; public class Human { [Key] public int Id { get; set; } [DisplayName("First Name")] public string FirstName { get; set; } [DisplayName("First Name")] public string LastName { get; set; } }
  • 27. Intro to Razor Pages https://docs.microsoft.com/en-us/aspnet/core/mvc/razor-pages
  • 29. SignalR in ASP.NET Core 2.1 (Stable!) https://blogs.msdn.microsoft.com/webdev/2018/02/27/asp-net-core-2-1-0-preview1-getting-started-with-signalr using Microsoft.AspNetCore.SignalR; namespace SignalRTutorial.Hubs { [Authorize] public class ChatHub : Hub { public override async Task OnConnectedAsync() { await Clients.All.SendAsync("SendAction", Context.User.Identity.Name, "joined"); } public override async Task OnDisconnectedAsync(Exception ex) { await Clients.All.SendAsync("SendAction", Context.User.Identity.Name, "left"); } public async Task Send(string message) { await Clients.All.SendAsync("SendMessage", Context.User.Identity.Name, message); } } }
  • 30. ASP.NET Core 2.1: What’s New? http://www.talkingdotnet.com/quick-summary-whats-new-asp-net-core-2-1/
  • 31. ASP.NET Core 2.1: What’s New? http://www.talkingdotnet.com/quick-summary-whats-new-asp-net-core-2-1/ • Real-time web development • New Typescript client, jQuery • Built-in Hub protocols: • JSON-based for text • MessagePack for binary • Improved scale-out model • Sticky sessions required* *required when using WebSockets unless skipNegotiation flag is set to true var connection = new signalR.HubConnectionBuilder().withUrl("/chat", { skipNegotiation: true, transport: signalR.HttpTransportType.WebSockets }) .build();
  • 32. ASP.NET Core 2.1: What’s New? http://www.talkingdotnet.com/quick-summary-whats-new-asp-net-core-2-1/ • UseHttpsRedirection by default • HSTS protocol support (non-dev) • >dotnet dev-certs https --trust
  • 33. ASP.NET Core 2.1: What’s New? http://www.talkingdotnet.com/quick-summary-whats-new-asp-net-core-2-1/ • New ApiController attribute • Auto model validation
  • 34. ASP.NET Core 2.1: What’s New? http://www.talkingdotnet.com/quick-summary-whats-new-asp-net-core-2-1/ • Rich Swagger support • Easier API documentation
  • 35. ASP.NET Core 2.1: What’s New? http://www.talkingdotnet.com/quick-summary-whats-new-asp-net-core-2-1/ • New type ActionResult<T> • Indicate response type for any action result
  • 36. ASP.NET Core 2.1: What’s New? http://www.talkingdotnet.com/quick-summary-whats-new-asp-net-core-2-1/ • HttpClient as a service • Register, configure, consume HttpClient instances
  • 37. ASP.NET Core 2.1: What’s New? http://www.talkingdotnet.com/quick-summary-whats-new-asp-net-core-2-1/ • ASP.NET Core (native IIS) Module • Hooks into IIS pipeline • Improved Performance
  • 38. ASP.NET Core 2.1: What’s New? http://www.talkingdotnet.com/quick-summary-whats-new-asp-net-core-2-1/ • Default UI implemented in a library • Available as NuGet package • Enable via Startup class
  • 39. ASP.NET Core 2.1: What’s New? http://www.talkingdotnet.com/quick-summary-whats-new-asp-net-core-2-1/ • Compliance for EU General Data Protection Regulation reqts • Request user consent for info
  • 40. ASP.NET Core 2.1: What’s New? http://www.talkingdotnet.com/quick-summary-whats-new-asp-net-core-2-1/ • Mix authentication schemes • e.g. Bearer tokens, cookie auth
  • 41. ASP.NET Core 2.1: What’s New? http://www.talkingdotnet.com/quick-summary-whats-new-asp-net-core-2-1/ • Compiled during build process • Improved startup performance
  • 42. ASP.NET Core 2.1: What’s New? http://www.talkingdotnet.com/quick-summary-whats-new-asp-net-core-2-1/ • Razor UI as class library • Share across projects • Share as Nuget package
  • 43. ASP.NET Core 2.1: What’s New? http://www.talkingdotnet.com/quick-summary-whats-new-asp-net-core-2-1/ • Improved end-to-end testing • e.g. routing, filters, controllers, actions, views and pages
  • 44. How about Entity Framework? DB ORM Entities in Code Core ) 4.6+ 4.6+
  • 46. Pluralsight Course by Julie Lerman https://app.pluralsight.com/library/courses/entity-framework-core-2-getting-started
  • 49. File  New Project  Web • ASP .NET Core Web App • Web App (4.x)
  • 50. Select a Template 1.0 , 1.1, 2.0 or 2.1 • Empty • API • Web App (Razor) • Web App (MVC) • Angular • React.js • React.js & Redux • Razor Class Library Other settings: • Authentication • Docker Support
  • 51. VS 2017 15.7 + ASP.NET Core 2.1 https://www.visualstudio.com/downloads
  • 52. .NET Core SDK 2.1 RC1 https://www.microsoft.com/net/download/dotnet-core/sdk-2.1.300-rc1
  • 53. Select a Template (VS 2017 15.7) Includes: ASP .NET Core 2.1
  • 54. ASP.NET Core Runtime Extension on Azure https://blogs.msdn.microsoft.com/webdev/2018/02/27/asp-net-core-2-1-0-preview1-using-asp-net-core-previews-on-azure-app-service/
  • 55. Visual Studio Code Download https://code.visualstudio.com
  • 61. Choose Profile While Debugging
  • 63. DEMO
  • 64. Migrating from MVC to MVC Core https://docs.microsoft.com/en-us/aspnet/core/migration/mvc
  • 65. dotnet/cli on GitHub This repo contains the .NET Core command- line (CLI) tools, used for building .NET Core apps and libraries. GitHub: https://github.com/dotnet/cli
  • 66. .NET Core 2.x CLI Commands https://docs.microsoft.com/en-us/dotnet/core/tools/?tabs=netcore2x >dotnet --version >dotnet --info >dotnet new <TEMPLATE> --auth <AUTH_TYPE> -o <OUTPUT_DIR> >dotnet new console -o MyConsoleApp >dotnet new mvc --auth Individual -o MyMvcWebApp >dotnet restore >dotnet build >dotnet run <TEMPLATE> = web | mvc | razor | angular | react | webapi <AUTH_TYPE> for mvc,razor = None | Individual | SingleOrg | Windows
  • 67. Azure CLI Commands https://docs.microsoft.com/en-us/azure/app-service/scripts/app-service-cli-deploy-github >az login >az group create -l <REGION> -n <RSG> >az appservice plan create -g <RSG> -n <ASP> --sku <PLAN> (e.g. F1) >az webapp create -g <RSG> -p <ASP> -n <APP> >git init >git add . >git commit -m "<COMMIT MESSAGE>“ >az webapp deployment user set --user-name <USER> >az webapp deployment source config-local-git -g <RSG> -n <APP> --out tsv >git remote add azure <GIT URL> >git push azure master RESULT  http://<APP>.azurewebsites.net GIT URL  https://<USER>@<APP>.scm.azurewebsites.net/<APP>.git
  • 68. Agenda Introduction > .NET (Framework & Core) > ASP.NET Core > Visual Studio & VS Code References + Wrap-up
  • 70. Blog Sources Scott Hanselman’s Blog: https://www.hanselman.com/blog/ .NET Web Dev Blog: https://blogs.msdn.microsoft.com/webdev/
  • 71. Visual Studio 2017 Launch Videos https://channel9.msdn.com/Events/Visual-Studio/Visual-Studio-2017-Launch?sort=viewed&direction=asc
  • 72. Build 2017: ASP .NET Core 2.0 https://channel9.msdn.com/Events/Build/2017/b8048
  • 73. .NET Core 2.1 Roadmap PT.1 https://channel9.msdn.com/Shows/On-NET/NET-Core-21-Roadmap-PT1
  • 74. .NET Core 2.1 Roadmap PT.2 https://channel9.msdn.com/Shows/On-NET/NET-Core-21-Roadmap-PT2
  • 75. Build Conference 2018 http://build.microsoft.com
  • 76. Build 2018: ASP .NET Core 2.1 https://channel9.msdn.com/events/Build/2018/BRK2151
  • 77. SignalR for ASP .NET Core 2.1 https://channel9.msdn.com/events/Build/2018/BRK2147
  • 78. Jeff Fritz on YouTube https://www.youtube.com/watch?v=--lYHxrsLsc
  • 79. Other Video Sources MSDN Channel 9: https://channel9.msdn.com .NET Conf: http://www.dotnetconf.net
  • 80. Docs + Tutorials Tutorials: https://docs.microsoft.com/en-us/aspnet/core/tutorials/first-mvc-app/ Docs: https://blogs.msdn.microsoft.com/webdev/2017/02/07/asp-net-documentation-now-on-docs-microsoft-com/
  • 81. ASP.NET Core 2.0 Release https://blogs.msdn.microsoft.com/webdev/2017/08/14/announcing-asp-net-core-2-0/
  • 82. ASP.NET Core 2.1 Roadmap https://blogs.msdn.microsoft.com/webdev/2018/02/02/asp-net-core-2-1-roadmap/
  • 84. ASP.NET Core 2.1 Released https://blogs.msdn.microsoft.com/dotnet/2018/05/30/announcing-net-core-2-1/
  • 85. References • ASP .NET: http://www.asp.net • .NET Core: https://www.microsoft.com/net • .NET Web Dev Blog: https://blogs.msdn.microsoft.com/webdev • Scott Hanselman’s Blog: https://www.hanselman.com/blog • .NET Conf: http://www.dotnetconf.net • MSDN Channel 9: https://channel9.msdn.com • Tutorials: https://docs.microsoft.com/en-us/aspnet/core/tutorials/first-mvc-app • C# 7: https://docs.microsoft.com/en-us/dotnet/articles/csharp/csharp-7 • ASP.NET Core Roadmap: https://github.com/aspnet/Home/wiki/Roadmap • .NET Core Roadmap: https://github.com/dotnet/core/blob/master/roadmap.md
  • 86. Other Resources • New Razor Pages: http://www.hishambinateya.com/welcome-razor-pages • Intro to Razor: https://docs.microsoft.com/en-us/aspnet/core/mvc/razor-pages • Live Unit Testing: https://blogs.msdn.microsoft.com/visualstudio/2016/11/18/live- unit-testing-visual-studio-2017-rc • Migrating from MVC to MVC Core: https://docs.microsoft.com/en- us/aspnet/core/migration/mvc • Visual Studio Code: https://code.visualstudio.com • dotnet/cli on GitHub: https://github.com/dotnet/cli
  • 87. Q & A
  • 88. Agenda Introduction > .NET (Framework & Core) > ASP.NET Core > Visual Studio & VS Code References + Wrap-up
  • 89. Email: [email protected] Twitter: @shahedC

Editor's Notes