SlideShare a Scribd company logo
ASP.NET vNext
RICHARD CAUNT
Once Upon a Time…
 Classic ASP – December 1996
 ASP.NET 1.0 – January 2002 – Object Orientated
 ASP.NET 2.0 – November 2005 – New WebForms Controls
 ASP.NET 3.5 – November 2007 – WPF, WWF, WCF
 ASP.NET 4.0 – April 2010 – ASP.NET AJAX, LINQ
 ASP.NET 4.5 – August 2012 – Parallel Extensions
 ASP.NET 5.0 aka vNext – July 2015
2
Cons…
 Windows / IIS Only
 Fragmented Programing Model (Web API, Web Forms, MVC)
 Limited Dependency Injection
 System.Web (HttpContext) Reliance
 .NET Framework Administration
 Side-by-side Deployments
 Assembly Strong Naming
 Closed Source
 Heavy Pipeline
3
“
”
ASP.NET vNext is a leaner, more
modular, cross-platform, cloud
optimized and open source
framework.
SCOTT GUTHRIE
Lots Has Changed
4
Pros…
 Cross-platform – Windows, Mac and Linux
 Open Source – http://github.com/aspnet/Home
 Dependency Injection Everywhere
 Modular – Everything as Packages (even the CLR)
 Server-side NuGet Packages – Either as Binary or Source
 Hosting Options – IIS, Self-hosting => Docker
 Unified Programming Model
 Cloud-ready Environment Based Configuration (JSON)
 Performance – No System.Web Dependency
 Configurable Request Pipeline – UseIdentity(), UseMvc() etc
 Supports OWIN (Open Web Interfaces for .NET)
5
Architecture
https://github.com/aspnet/Home/wiki/DNX-structure
6
Runtime Environments
 .NET Core
 Small and lean footprint (modular)
 Deployable with the application
 Updatable without affecting OS/applications
 Cross-platform (Windows, Mac and Linux)
 http://github.com/dotnet/coreclr
 However, some functionality not available
 .NET Framework (“Desktop”)
 The framework as you currently know it – assemblies loaded from the
GAC
7
“
”
.NET Execution Environment (DNX)
The DNX is an SDK containing everything
needed to build and run an application,
including the CLR in the case of Core CLR. It
can be bin deployed with you application
and as such can be deployed side-by-side
with other applications on the server.
(Used to be called k)
8
DNX Tooling / Commands
 DNX (X for eXecution)
 Entry point to the runtime, i.e. used to run an application:
dnx <path to project.json> <command to run>
 Commands include run, web and build
 DNVM (VM for Version Manager)
 Runtime version manager
 Can fetch, install, upgrade and switch CLR
 DNU (U for Utility)
 Installs and restores packages for application
 Build and packages application for deployment
9
Demo
10
Solution Structure
global.json
 Configures the solution as a whole by:
 Designates which folders contain code
 Specifies DNX version
11
Solution Structure
References
 Same as before, but:
 Expanded to show different reference sets for
different runtime environments (Desktop / Core)
 Drill down into reference dependencies
 Server-side
12
Solution Structure
wwwroot
 Represents the actual root of the website when
running on a web server
 Should contain only static files required to render
the final page output (JS/CSS)
 Protects configuration files from hackers
13
Solution Structure
Dependencies
 Client-side version of References
 Bower – “A package manager for the web”
 Configured using bower.json
 Bower tasks run by Gulp using gulpfile.js
 NPM – Jack of all trades package manager
 Configured using package.json
14
Solution Structure
config.json
 New location and format for settings traditionally
kept in web.config and machine.config
 Not just limited to name/value pairs
 Configuration not just limited to one file and
JSON format, can source from:
 XML
 INI
 Database
15
Solution Structure
hosting.ini
 Configuration information used when self-hosting
an ASP.NET 5 website
 Specifies server type
 WebListener – Self-hosting
 Kestrel – Cross-platform
 Will change to be JSON based
16
Solution Structure
project.json
 Configure frameworks
 Manage server-side dependencies
 Configure compiler settings – Release/Debug
 Commands for DNX
 Scripts for pre/post-build/pack/restore
 Does not contain Visual Studio settings (.xproj)
17
Solution Structure
Startup.cs
 Simplistically – Replaces Global.asax
 Load configuration
 config.json
 Environment variables
 Configure dependency injection
 Configure pipeline / middleware
 UseMvc(), UseIdentity(), UseStaticFiles()
18
Demo
19
Further Topics
 Entity Framework 7
 No more .edmx files
 MVC 6
 Tag Helpers
 Project Migration
 Docker
20
Further Reading
 http://www.asp.net/vnext
 http://github.com/aspnet/Home/wiki
 http://www.codemag.com/article/1501061
 https://weblogs.asp.net/scottgu/introducing-asp-net-5
 http://blogs.msdn.com/b/webdev/archive/2014/06/17/dependenc
y-injection-in-asp-vnext.aspx
 http://wildermuth.com/2015/2/25/A_Look_at_ASP_NET_5_Part_1_-
_Getting_Started
 http://www.hanselman.com/blog/PublishingAnASPNET5AppToDock
erOnLinuxWithVisualStudio.aspx
21
Questions? 22
Ad

More Related Content

What's hot (20)

Foreman in your datacenter
Foreman in your datacenterForeman in your datacenter
Foreman in your datacenter
lzap
 
IaaS: Windows Azure Virtual Machines
IaaS: Windows Azure Virtual MachinesIaaS: Windows Azure Virtual Machines
IaaS: Windows Azure Virtual Machines
Pavel Revenkov
 
New Oracle Infrastructure2
New Oracle Infrastructure2New Oracle Infrastructure2
New Oracle Infrastructure2
markleeuw
 
Apache
ApacheApache
Apache
jtpond
 
Configuring MongoDB HA Replica Set on AWS EC2
Configuring MongoDB HA Replica Set on AWS EC2Configuring MongoDB HA Replica Set on AWS EC2
Configuring MongoDB HA Replica Set on AWS EC2
ShepHertz
 
Forget MAMP and WAMP, Use Virtual Box to Have a Real Ubuntu Server
Forget MAMP and WAMP, Use Virtual Box to Have a Real Ubuntu ServerForget MAMP and WAMP, Use Virtual Box to Have a Real Ubuntu Server
Forget MAMP and WAMP, Use Virtual Box to Have a Real Ubuntu Server
aaroncouch
 
Deploying pNFS over Distributed File Storage w/ Jiffin Tony Thottan and Niels...
Deploying pNFS over Distributed File Storage w/ Jiffin Tony Thottan and Niels...Deploying pNFS over Distributed File Storage w/ Jiffin Tony Thottan and Niels...
Deploying pNFS over Distributed File Storage w/ Jiffin Tony Thottan and Niels...
Gluster.org
 
Nginx [engine x] and you (and WordPress)
Nginx [engine x] and you (and WordPress)Nginx [engine x] and you (and WordPress)
Nginx [engine x] and you (and WordPress)
Justin Foell
 
OpenNebulaConf2015 2.02 Backing up your VM’s with Bacula - Alberto García
OpenNebulaConf2015 2.02 Backing up your VM’s with Bacula - Alberto GarcíaOpenNebulaConf2015 2.02 Backing up your VM’s with Bacula - Alberto García
OpenNebulaConf2015 2.02 Backing up your VM’s with Bacula - Alberto García
OpenNebula Project
 
OpenCms Days 2015 OCEE explained
OpenCms Days 2015 OCEE explainedOpenCms Days 2015 OCEE explained
OpenCms Days 2015 OCEE explained
Alkacon Software GmbH & Co. KG
 
Local development environment evolution
Local development environment evolutionLocal development environment evolution
Local development environment evolution
Wise Engineering
 
OpenCms Days 2013 - Gradle based OpenCms build automated setup
OpenCms Days 2013 - Gradle based OpenCms build automated setupOpenCms Days 2013 - Gradle based OpenCms build automated setup
OpenCms Days 2013 - Gradle based OpenCms build automated setup
Alkacon Software GmbH & Co. KG
 
Caching for Cash: Caching
Caching for Cash: CachingCaching for Cash: Caching
Caching for Cash: Caching
Scott MacVicar
 
Monitoring multiple ultra esb instances with u console
Monitoring multiple ultra esb instances with u consoleMonitoring multiple ultra esb instances with u console
Monitoring multiple ultra esb instances with u console
ImeshLihinikaduarach
 
oVirt 3.6 Deep Dive: Refresh LUN size
oVirt 3.6 Deep Dive: Refresh LUN sizeoVirt 3.6 Deep Dive: Refresh LUN size
oVirt 3.6 Deep Dive: Refresh LUN size
Freddy Rolland
 
ITB2019 Scaling with CommandBox in Production! - Brad Wood
ITB2019 Scaling with CommandBox in Production! - Brad WoodITB2019 Scaling with CommandBox in Production! - Brad Wood
ITB2019 Scaling with CommandBox in Production! - Brad Wood
Ortus Solutions, Corp
 
Uponor Exadata e-Business Suite Migration Case Study
Uponor Exadata e-Business Suite Migration Case StudyUponor Exadata e-Business Suite Migration Case Study
Uponor Exadata e-Business Suite Migration Case Study
Simo Vilmunen
 
Connecting AWS and Katello/The Foreman
Connecting AWS and Katello/The ForemanConnecting AWS and Katello/The Foreman
Connecting AWS and Katello/The Foreman
Lukas Kallies
 
Top 15 MySQL parameters
Top 15 MySQL parameters Top 15 MySQL parameters
Top 15 MySQL parameters
Andrejs Vorobjovs
 
[Mas 500] Various Topics
[Mas 500] Various Topics[Mas 500] Various Topics
[Mas 500] Various Topics
rahulbot
 
Foreman in your datacenter
Foreman in your datacenterForeman in your datacenter
Foreman in your datacenter
lzap
 
IaaS: Windows Azure Virtual Machines
IaaS: Windows Azure Virtual MachinesIaaS: Windows Azure Virtual Machines
IaaS: Windows Azure Virtual Machines
Pavel Revenkov
 
New Oracle Infrastructure2
New Oracle Infrastructure2New Oracle Infrastructure2
New Oracle Infrastructure2
markleeuw
 
Apache
ApacheApache
Apache
jtpond
 
Configuring MongoDB HA Replica Set on AWS EC2
Configuring MongoDB HA Replica Set on AWS EC2Configuring MongoDB HA Replica Set on AWS EC2
Configuring MongoDB HA Replica Set on AWS EC2
ShepHertz
 
Forget MAMP and WAMP, Use Virtual Box to Have a Real Ubuntu Server
Forget MAMP and WAMP, Use Virtual Box to Have a Real Ubuntu ServerForget MAMP and WAMP, Use Virtual Box to Have a Real Ubuntu Server
Forget MAMP and WAMP, Use Virtual Box to Have a Real Ubuntu Server
aaroncouch
 
Deploying pNFS over Distributed File Storage w/ Jiffin Tony Thottan and Niels...
Deploying pNFS over Distributed File Storage w/ Jiffin Tony Thottan and Niels...Deploying pNFS over Distributed File Storage w/ Jiffin Tony Thottan and Niels...
Deploying pNFS over Distributed File Storage w/ Jiffin Tony Thottan and Niels...
Gluster.org
 
Nginx [engine x] and you (and WordPress)
Nginx [engine x] and you (and WordPress)Nginx [engine x] and you (and WordPress)
Nginx [engine x] and you (and WordPress)
Justin Foell
 
OpenNebulaConf2015 2.02 Backing up your VM’s with Bacula - Alberto García
OpenNebulaConf2015 2.02 Backing up your VM’s with Bacula - Alberto GarcíaOpenNebulaConf2015 2.02 Backing up your VM’s with Bacula - Alberto García
OpenNebulaConf2015 2.02 Backing up your VM’s with Bacula - Alberto García
OpenNebula Project
 
Local development environment evolution
Local development environment evolutionLocal development environment evolution
Local development environment evolution
Wise Engineering
 
OpenCms Days 2013 - Gradle based OpenCms build automated setup
OpenCms Days 2013 - Gradle based OpenCms build automated setupOpenCms Days 2013 - Gradle based OpenCms build automated setup
OpenCms Days 2013 - Gradle based OpenCms build automated setup
Alkacon Software GmbH & Co. KG
 
Caching for Cash: Caching
Caching for Cash: CachingCaching for Cash: Caching
Caching for Cash: Caching
Scott MacVicar
 
Monitoring multiple ultra esb instances with u console
Monitoring multiple ultra esb instances with u consoleMonitoring multiple ultra esb instances with u console
Monitoring multiple ultra esb instances with u console
ImeshLihinikaduarach
 
oVirt 3.6 Deep Dive: Refresh LUN size
oVirt 3.6 Deep Dive: Refresh LUN sizeoVirt 3.6 Deep Dive: Refresh LUN size
oVirt 3.6 Deep Dive: Refresh LUN size
Freddy Rolland
 
ITB2019 Scaling with CommandBox in Production! - Brad Wood
ITB2019 Scaling with CommandBox in Production! - Brad WoodITB2019 Scaling with CommandBox in Production! - Brad Wood
ITB2019 Scaling with CommandBox in Production! - Brad Wood
Ortus Solutions, Corp
 
Uponor Exadata e-Business Suite Migration Case Study
Uponor Exadata e-Business Suite Migration Case StudyUponor Exadata e-Business Suite Migration Case Study
Uponor Exadata e-Business Suite Migration Case Study
Simo Vilmunen
 
Connecting AWS and Katello/The Foreman
Connecting AWS and Katello/The ForemanConnecting AWS and Katello/The Foreman
Connecting AWS and Katello/The Foreman
Lukas Kallies
 
[Mas 500] Various Topics
[Mas 500] Various Topics[Mas 500] Various Topics
[Mas 500] Various Topics
rahulbot
 

Viewers also liked (7)

NJWEA Technology Transfer Fall 2015 Submersible Mixer Types and Applications
NJWEA Technology Transfer Fall 2015 Submersible Mixer Types and ApplicationsNJWEA Technology Transfer Fall 2015 Submersible Mixer Types and Applications
NJWEA Technology Transfer Fall 2015 Submersible Mixer Types and Applications
John Corkery
 
concrete mixer
concrete mixerconcrete mixer
concrete mixer
Engr. Niaz Muhammad
 
Marine and offshore construction equipments
Marine and offshore construction equipmentsMarine and offshore construction equipments
Marine and offshore construction equipments
fabil thottathil
 
Granulation
GranulationGranulation
Granulation
rahulsingour
 
Granulation ppt.
Granulation ppt.Granulation ppt.
Granulation ppt.
Namdeo Shinde
 
Mixing of liquids, solids and high viscosity materials
Mixing of liquids, solids and high viscosity materialsMixing of liquids, solids and high viscosity materials
Mixing of liquids, solids and high viscosity materials
Uniquemixers & Furnaces Pvt. Ltd.
 
Industrial wastewater treatment
Industrial wastewater treatmentIndustrial wastewater treatment
Industrial wastewater treatment
Mohamed Ramzy
 
NJWEA Technology Transfer Fall 2015 Submersible Mixer Types and Applications
NJWEA Technology Transfer Fall 2015 Submersible Mixer Types and ApplicationsNJWEA Technology Transfer Fall 2015 Submersible Mixer Types and Applications
NJWEA Technology Transfer Fall 2015 Submersible Mixer Types and Applications
John Corkery
 
Marine and offshore construction equipments
Marine and offshore construction equipmentsMarine and offshore construction equipments
Marine and offshore construction equipments
fabil thottathil
 
Industrial wastewater treatment
Industrial wastewater treatmentIndustrial wastewater treatment
Industrial wastewater treatment
Mohamed Ramzy
 
Ad

Similar to ASP.NET vNext (20)

Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6
Ido Flatow
 
Install .Net Core, SQL Server V-Next on Linux and deploy .Net core applicatio...
Install .Net Core, SQL Server V-Next on Linux and deploy .Net core applicatio...Install .Net Core, SQL Server V-Next on Linux and deploy .Net core applicatio...
Install .Net Core, SQL Server V-Next on Linux and deploy .Net core applicatio...
Ajith Ramawickrama
 
ASP.NET vNext the future of ASP
ASP.NET vNext the future of ASPASP.NET vNext the future of ASP
ASP.NET vNext the future of ASP
Clément Hallet
 
.Net Core
.Net Core.Net Core
.Net Core
Bohdan Pashkovskyi
 
Getting Started with ASP.NET Core 1.0 (formerly ASP.NET 5)
Getting Started with ASP.NET Core 1.0 (formerly ASP.NET 5)Getting Started with ASP.NET Core 1.0 (formerly ASP.NET 5)
Getting Started with ASP.NET Core 1.0 (formerly ASP.NET 5)
Arrow Consulting & Design
 
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
 
Docker Multi-arch All The Things
Docker Multi-arch All The ThingsDocker Multi-arch All The Things
Docker Multi-arch All The Things
Docker, Inc.
 
Pottnet MeetUp Essen - ASP.Net Core
Pottnet MeetUp Essen - ASP.Net CorePottnet MeetUp Essen - ASP.Net Core
Pottnet MeetUp Essen - ASP.Net Core
Malte Lantin
 
Pottnet Meetup Essen - ASP.Net Core
Pottnet Meetup Essen - ASP.Net CorePottnet Meetup Essen - ASP.Net Core
Pottnet Meetup Essen - ASP.Net Core
Malte Lantin
 
Deploying windows containers with kubernetes
Deploying windows containers with kubernetesDeploying windows containers with kubernetes
Deploying windows containers with kubernetes
Ben Hall
 
Windows Loves drupal
Windows Loves drupalWindows Loves drupal
Windows Loves drupal
Alessandro Pilotti
 
Introducing Node.js in an Oracle technology environment (including hands-on)
Introducing Node.js in an Oracle technology environment (including hands-on)Introducing Node.js in an Oracle technology environment (including hands-on)
Introducing Node.js in an Oracle technology environment (including hands-on)
Lucas Jellema
 
Modernizing existing .NET applications with Windows Containers and Azure cloud
Modernizing existing .NET applications with Windows Containers and Azure cloudModernizing existing .NET applications with Windows Containers and Azure cloud
Modernizing existing .NET applications with Windows Containers and Azure cloud
Microsoft Tech Community
 
Windows Loves Drupal
Windows Loves DrupalWindows Loves Drupal
Windows Loves Drupal
Acquia
 
ASP.NET Core 101
ASP.NET Core 101ASP.NET Core 101
ASP.NET Core 101
Tuyến Vũ Đức
 
Angular on ASP.NET MVC 6
Angular on ASP.NET MVC 6Angular on ASP.NET MVC 6
Angular on ASP.NET MVC 6
Noam Kfir
 
Node JS | Dilkash Shaikh Mahajan
Node JS | Dilkash Shaikh MahajanNode JS | Dilkash Shaikh Mahajan
Node JS | Dilkash Shaikh Mahajan
DilkashShaikhMahajan
 
.net Core Blimey - Smart Devs UG
.net Core Blimey - Smart Devs UG.net Core Blimey - Smart Devs UG
.net Core Blimey - Smart Devs UG
citizenmatt
 
Node J pdf.docx
Node J pdf.docxNode J pdf.docx
Node J pdf.docx
PSK Technolgies Pvt. Ltd. IT Company Nagpur
 
Node J pdf.docx
Node J pdf.docxNode J pdf.docx
Node J pdf.docx
PSK Technolgies Pvt. Ltd. IT Company Nagpur
 
Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6
Ido Flatow
 
Install .Net Core, SQL Server V-Next on Linux and deploy .Net core applicatio...
Install .Net Core, SQL Server V-Next on Linux and deploy .Net core applicatio...Install .Net Core, SQL Server V-Next on Linux and deploy .Net core applicatio...
Install .Net Core, SQL Server V-Next on Linux and deploy .Net core applicatio...
Ajith Ramawickrama
 
ASP.NET vNext the future of ASP
ASP.NET vNext the future of ASPASP.NET vNext the future of ASP
ASP.NET vNext the future of ASP
Clément Hallet
 
Getting Started with ASP.NET Core 1.0 (formerly ASP.NET 5)
Getting Started with ASP.NET Core 1.0 (formerly ASP.NET 5)Getting Started with ASP.NET Core 1.0 (formerly ASP.NET 5)
Getting Started with ASP.NET Core 1.0 (formerly ASP.NET 5)
Arrow Consulting & Design
 
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
 
Docker Multi-arch All The Things
Docker Multi-arch All The ThingsDocker Multi-arch All The Things
Docker Multi-arch All The Things
Docker, Inc.
 
Pottnet MeetUp Essen - ASP.Net Core
Pottnet MeetUp Essen - ASP.Net CorePottnet MeetUp Essen - ASP.Net Core
Pottnet MeetUp Essen - ASP.Net Core
Malte Lantin
 
Pottnet Meetup Essen - ASP.Net Core
Pottnet Meetup Essen - ASP.Net CorePottnet Meetup Essen - ASP.Net Core
Pottnet Meetup Essen - ASP.Net Core
Malte Lantin
 
Deploying windows containers with kubernetes
Deploying windows containers with kubernetesDeploying windows containers with kubernetes
Deploying windows containers with kubernetes
Ben Hall
 
Introducing Node.js in an Oracle technology environment (including hands-on)
Introducing Node.js in an Oracle technology environment (including hands-on)Introducing Node.js in an Oracle technology environment (including hands-on)
Introducing Node.js in an Oracle technology environment (including hands-on)
Lucas Jellema
 
Modernizing existing .NET applications with Windows Containers and Azure cloud
Modernizing existing .NET applications with Windows Containers and Azure cloudModernizing existing .NET applications with Windows Containers and Azure cloud
Modernizing existing .NET applications with Windows Containers and Azure cloud
Microsoft Tech Community
 
Windows Loves Drupal
Windows Loves DrupalWindows Loves Drupal
Windows Loves Drupal
Acquia
 
Angular on ASP.NET MVC 6
Angular on ASP.NET MVC 6Angular on ASP.NET MVC 6
Angular on ASP.NET MVC 6
Noam Kfir
 
.net Core Blimey - Smart Devs UG
.net Core Blimey - Smart Devs UG.net Core Blimey - Smart Devs UG
.net Core Blimey - Smart Devs UG
citizenmatt
 
Ad

Recently uploaded (20)

Revolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptxRevolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptx
nidhisingh691197
 
Top 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docxTop 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docx
Portli
 
Landscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature ReviewLandscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature Review
Hironori Washizaki
 
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and CollaborateMeet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Maxim Salnikov
 
Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025
kashifyounis067
 
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage DashboardsAdobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
BradBedford3
 
Not So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java WebinarNot So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java Webinar
Tier1 app
 
Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025
mu394968
 
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
ssuserb14185
 
Maxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINKMaxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINK
younisnoman75
 
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRYLEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
NidaFarooq10
 
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
F-Secure Freedome VPN 2025 Crack Plus Activation  New VersionF-Secure Freedome VPN 2025 Crack Plus Activation  New Version
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
saimabibi60507
 
Adobe Illustrator Crack FREE Download 2025 Latest Version
Adobe Illustrator Crack FREE Download 2025 Latest VersionAdobe Illustrator Crack FREE Download 2025 Latest Version
Adobe Illustrator Crack FREE Download 2025 Latest Version
kashifyounis067
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
Exploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the FutureExploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the Future
ICS
 
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Orangescrum
 
Pixologic ZBrush Crack Plus Activation Key [Latest 2025] New Version
Pixologic ZBrush Crack Plus Activation Key [Latest 2025] New VersionPixologic ZBrush Crack Plus Activation Key [Latest 2025] New Version
Pixologic ZBrush Crack Plus Activation Key [Latest 2025] New Version
saimabibi60507
 
EASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License CodeEASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License Code
aneelaramzan63
 
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Ranjan Baisak
 
PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025
mu394968
 
Revolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptxRevolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptx
nidhisingh691197
 
Top 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docxTop 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docx
Portli
 
Landscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature ReviewLandscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature Review
Hironori Washizaki
 
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and CollaborateMeet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Meet the Agents: How AI Is Learning to Think, Plan, and Collaborate
Maxim Salnikov
 
Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025
kashifyounis067
 
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage DashboardsAdobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
BradBedford3
 
Not So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java WebinarNot So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java Webinar
Tier1 app
 
Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025
mu394968
 
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
ssuserb14185
 
Maxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINKMaxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINK
younisnoman75
 
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRYLEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
NidaFarooq10
 
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
F-Secure Freedome VPN 2025 Crack Plus Activation  New VersionF-Secure Freedome VPN 2025 Crack Plus Activation  New Version
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
saimabibi60507
 
Adobe Illustrator Crack FREE Download 2025 Latest Version
Adobe Illustrator Crack FREE Download 2025 Latest VersionAdobe Illustrator Crack FREE Download 2025 Latest Version
Adobe Illustrator Crack FREE Download 2025 Latest Version
kashifyounis067
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
Exploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the FutureExploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the Future
ICS
 
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Orangescrum
 
Pixologic ZBrush Crack Plus Activation Key [Latest 2025] New Version
Pixologic ZBrush Crack Plus Activation Key [Latest 2025] New VersionPixologic ZBrush Crack Plus Activation Key [Latest 2025] New Version
Pixologic ZBrush Crack Plus Activation Key [Latest 2025] New Version
saimabibi60507
 
EASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License CodeEASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License Code
aneelaramzan63
 
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Ranjan Baisak
 
PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025
mu394968
 

ASP.NET vNext

  • 2. Once Upon a Time…  Classic ASP – December 1996  ASP.NET 1.0 – January 2002 – Object Orientated  ASP.NET 2.0 – November 2005 – New WebForms Controls  ASP.NET 3.5 – November 2007 – WPF, WWF, WCF  ASP.NET 4.0 – April 2010 – ASP.NET AJAX, LINQ  ASP.NET 4.5 – August 2012 – Parallel Extensions  ASP.NET 5.0 aka vNext – July 2015 2
  • 3. Cons…  Windows / IIS Only  Fragmented Programing Model (Web API, Web Forms, MVC)  Limited Dependency Injection  System.Web (HttpContext) Reliance  .NET Framework Administration  Side-by-side Deployments  Assembly Strong Naming  Closed Source  Heavy Pipeline 3
  • 4. “ ” ASP.NET vNext is a leaner, more modular, cross-platform, cloud optimized and open source framework. SCOTT GUTHRIE Lots Has Changed 4
  • 5. Pros…  Cross-platform – Windows, Mac and Linux  Open Source – http://github.com/aspnet/Home  Dependency Injection Everywhere  Modular – Everything as Packages (even the CLR)  Server-side NuGet Packages – Either as Binary or Source  Hosting Options – IIS, Self-hosting => Docker  Unified Programming Model  Cloud-ready Environment Based Configuration (JSON)  Performance – No System.Web Dependency  Configurable Request Pipeline – UseIdentity(), UseMvc() etc  Supports OWIN (Open Web Interfaces for .NET) 5
  • 7. Runtime Environments  .NET Core  Small and lean footprint (modular)  Deployable with the application  Updatable without affecting OS/applications  Cross-platform (Windows, Mac and Linux)  http://github.com/dotnet/coreclr  However, some functionality not available  .NET Framework (“Desktop”)  The framework as you currently know it – assemblies loaded from the GAC 7
  • 8. “ ” .NET Execution Environment (DNX) The DNX is an SDK containing everything needed to build and run an application, including the CLR in the case of Core CLR. It can be bin deployed with you application and as such can be deployed side-by-side with other applications on the server. (Used to be called k) 8
  • 9. DNX Tooling / Commands  DNX (X for eXecution)  Entry point to the runtime, i.e. used to run an application: dnx <path to project.json> <command to run>  Commands include run, web and build  DNVM (VM for Version Manager)  Runtime version manager  Can fetch, install, upgrade and switch CLR  DNU (U for Utility)  Installs and restores packages for application  Build and packages application for deployment 9
  • 11. Solution Structure global.json  Configures the solution as a whole by:  Designates which folders contain code  Specifies DNX version 11
  • 12. Solution Structure References  Same as before, but:  Expanded to show different reference sets for different runtime environments (Desktop / Core)  Drill down into reference dependencies  Server-side 12
  • 13. Solution Structure wwwroot  Represents the actual root of the website when running on a web server  Should contain only static files required to render the final page output (JS/CSS)  Protects configuration files from hackers 13
  • 14. Solution Structure Dependencies  Client-side version of References  Bower – “A package manager for the web”  Configured using bower.json  Bower tasks run by Gulp using gulpfile.js  NPM – Jack of all trades package manager  Configured using package.json 14
  • 15. Solution Structure config.json  New location and format for settings traditionally kept in web.config and machine.config  Not just limited to name/value pairs  Configuration not just limited to one file and JSON format, can source from:  XML  INI  Database 15
  • 16. Solution Structure hosting.ini  Configuration information used when self-hosting an ASP.NET 5 website  Specifies server type  WebListener – Self-hosting  Kestrel – Cross-platform  Will change to be JSON based 16
  • 17. Solution Structure project.json  Configure frameworks  Manage server-side dependencies  Configure compiler settings – Release/Debug  Commands for DNX  Scripts for pre/post-build/pack/restore  Does not contain Visual Studio settings (.xproj) 17
  • 18. Solution Structure Startup.cs  Simplistically – Replaces Global.asax  Load configuration  config.json  Environment variables  Configure dependency injection  Configure pipeline / middleware  UseMvc(), UseIdentity(), UseStaticFiles() 18
  • 20. Further Topics  Entity Framework 7  No more .edmx files  MVC 6  Tag Helpers  Project Migration  Docker 20
  • 21. Further Reading  http://www.asp.net/vnext  http://github.com/aspnet/Home/wiki  http://www.codemag.com/article/1501061  https://weblogs.asp.net/scottgu/introducing-asp-net-5  http://blogs.msdn.com/b/webdev/archive/2014/06/17/dependenc y-injection-in-asp-vnext.aspx  http://wildermuth.com/2015/2/25/A_Look_at_ASP_NET_5_Part_1_- _Getting_Started  http://www.hanselman.com/blog/PublishingAnASPNET5AppToDock erOnLinuxWithVisualStudio.aspx 21