SlideShare ist ein Scribd-Unternehmen logo
1 von 22
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

Weitere ähnliche Inhalte

Was ist angesagt?

Foreman in your datacenter
Foreman in your datacenterForeman in your datacenter
Foreman in your datacenterlzap
 
IaaS: Windows Azure Virtual Machines
IaaS: Windows Azure Virtual MachinesIaaS: Windows Azure Virtual Machines
IaaS: Windows Azure Virtual MachinesPavel Revenkov
 
New Oracle Infrastructure2
New Oracle Infrastructure2New Oracle Infrastructure2
New Oracle Infrastructure2markleeuw
 
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 EC2ShepHertz
 
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 Serveraaroncouch
 
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íaOpenNebula Project
 
Local development environment evolution
Local development environment evolutionLocal development environment evolution
Local development environment evolutionWise 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 setupAlkacon 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 consoleImeshLihinikaduarach
 
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 sizeFreddy 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 WoodOrtus 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 StudySimo Vilmunen
 
Connecting AWS and Katello/The Foreman
Connecting AWS and Katello/The ForemanConnecting AWS and Katello/The Foreman
Connecting AWS and Katello/The ForemanLukas Kallies
 
[Mas 500] Various Topics
[Mas 500] Various Topics[Mas 500] Various Topics
[Mas 500] Various Topicsrahulbot
 

Was ist angesagt? (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
 

Andere mochten auch

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 ApplicationsJohn Corkery
 
Marine and offshore construction equipments
Marine and offshore construction equipmentsMarine and offshore construction equipments
Marine and offshore construction equipmentsfabil thottathil
 
Industrial wastewater treatment
Industrial wastewater treatmentIndustrial wastewater treatment
Industrial wastewater treatmentMohamed Ramzy
 

Andere mochten auch (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
 

Ähnlich wie 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 6Ido 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 ASPClé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 ThingsDocker, Inc.
 
Pottnet Meetup Essen - ASP.Net Core
Pottnet Meetup Essen - ASP.Net CorePottnet Meetup Essen - ASP.Net Core
Pottnet Meetup Essen - ASP.Net CoreMalte Lantin
 
Pottnet MeetUp Essen - ASP.Net Core
Pottnet MeetUp Essen - ASP.Net CorePottnet MeetUp Essen - ASP.Net Core
Pottnet MeetUp Essen - ASP.Net CoreMalte Lantin
 
Deploying windows containers with kubernetes
Deploying windows containers with kubernetesDeploying windows containers with kubernetes
Deploying windows containers with kubernetesBen 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 cloudMicrosoft Tech Community
 
Windows Loves Drupal
Windows Loves DrupalWindows Loves Drupal
Windows Loves DrupalAcquia
 
Angular on ASP.NET MVC 6
Angular on ASP.NET MVC 6Angular on ASP.NET MVC 6
Angular on ASP.NET MVC 6Noam Kfir
 
.net Core Blimey - Smart Devs UG
.net Core Blimey - Smart Devs UG.net Core Blimey - Smart Devs UG
.net Core Blimey - Smart Devs UGcitizenmatt
 

Ähnlich wie 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
 

Kürzlich hochgeladen

Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfkalichargn70th171
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Software Coding for software engineering
Software Coding for software engineeringSoftware Coding for software engineering
Software Coding for software engineeringssuserb3a23b
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 

Kürzlich hochgeladen (20)

Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Software Coding for software engineering
Software Coding for software engineeringSoftware Coding for software engineering
Software Coding for software engineering
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 

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