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

More Related Content

What's hot

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
Apachejtpond
 
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: CachingScott 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 Topicsrahulbot
 

What's hot (20)

Foreman in your datacenter
Foreman in your datacenterForeman in your datacenter
Foreman in your datacenter
 
IaaS: Windows Azure Virtual Machines
IaaS: Windows Azure Virtual MachinesIaaS: Windows Azure Virtual Machines
IaaS: Windows Azure Virtual Machines
 
New Oracle Infrastructure2
New Oracle Infrastructure2New Oracle Infrastructure2
New Oracle Infrastructure2
 
Apache
ApacheApache
Apache
 
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
 
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
 
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...
 
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)
 
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
 
OpenCms Days 2015 OCEE explained
OpenCms Days 2015 OCEE explainedOpenCms Days 2015 OCEE explained
OpenCms Days 2015 OCEE explained
 
Local development environment evolution
Local development environment evolutionLocal development environment evolution
Local development environment evolution
 
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
 
Caching for Cash: Caching
Caching for Cash: CachingCaching for Cash: Caching
Caching for Cash: Caching
 
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
 
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
 
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
 
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
 
Connecting AWS and Katello/The Foreman
Connecting AWS and Katello/The ForemanConnecting AWS and Katello/The Foreman
Connecting AWS and Katello/The Foreman
 
Top 15 MySQL parameters
Top 15 MySQL parameters Top 15 MySQL parameters
Top 15 MySQL parameters
 
[Mas 500] Various Topics
[Mas 500] Various Topics[Mas 500] Various Topics
[Mas 500] Various Topics
 

Viewers also liked

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
 
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 treatmentMohamed Ramzy
 

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
 
concrete mixer
concrete mixerconcrete mixer
concrete mixer
 
Marine and offshore construction equipments
Marine and offshore construction equipmentsMarine and offshore construction equipments
Marine and offshore construction equipments
 
Granulation
GranulationGranulation
Granulation
 
Granulation ppt.
Granulation ppt.Granulation ppt.
Granulation ppt.
 
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
 
Industrial wastewater treatment
Industrial wastewater treatmentIndustrial wastewater treatment
Industrial wastewater treatment
 

Similar to ASP.NET vNext

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
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 DrupalAcquia
 
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
 

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
 
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...
 
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
 
.Net Core
.Net Core.Net Core
.Net Core
 
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)
 
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)
 
Docker Multi-arch All The Things
Docker Multi-arch All The ThingsDocker Multi-arch All The Things
Docker Multi-arch All The Things
 
Pottnet Meetup Essen - ASP.Net Core
Pottnet Meetup Essen - ASP.Net CorePottnet Meetup Essen - ASP.Net Core
Pottnet Meetup Essen - ASP.Net Core
 
Pottnet MeetUp Essen - ASP.Net Core
Pottnet MeetUp Essen - ASP.Net CorePottnet MeetUp Essen - ASP.Net Core
Pottnet MeetUp Essen - ASP.Net Core
 
Deploying windows containers with kubernetes
Deploying windows containers with kubernetesDeploying windows containers with kubernetes
Deploying windows containers with kubernetes
 
Windows Loves drupal
Windows Loves drupalWindows Loves drupal
Windows Loves drupal
 
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)
 
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
 
Windows Loves Drupal
Windows Loves DrupalWindows Loves Drupal
Windows Loves Drupal
 
ASP.NET Core 101
ASP.NET Core 101ASP.NET Core 101
ASP.NET Core 101
 
Angular on ASP.NET MVC 6
Angular on ASP.NET MVC 6Angular on ASP.NET MVC 6
Angular on ASP.NET MVC 6
 
Node JS | Dilkash Shaikh Mahajan
Node JS | Dilkash Shaikh MahajanNode JS | Dilkash Shaikh Mahajan
Node JS | Dilkash Shaikh Mahajan
 
.net Core Blimey - Smart Devs UG
.net Core Blimey - Smart Devs UG.net Core Blimey - Smart Devs UG
.net Core Blimey - Smart Devs UG
 
Node J pdf.docx
Node J pdf.docxNode J pdf.docx
Node J pdf.docx
 
Node J pdf.docx
Node J pdf.docxNode J pdf.docx
Node J pdf.docx
 

Recently uploaded

In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 
Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024
Sharepoint Designs
 
Why React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdfWhy React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdf
ayushiqss
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
Jelle | Nordend
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
Designing for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web ServicesDesigning for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web Services
KrzysztofKkol1
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
Peter Caitens
 
Strategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptxStrategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptx
varshanayak241
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 

Recently uploaded (20)

In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024
 
Why React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdfWhy React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdf
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
Designing for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web ServicesDesigning for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web Services
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
 
Strategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptxStrategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptx
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 

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