SlideShare une entreprise Scribd logo
1  sur  42
Que hay de nuevo en
Visual Studio 2013
y
ASP.NET 5.1
Rodolfo Finochietti

Mariano Sánchez

MVP ASP.NET/IIS
Lagash Systems
rodolfof@lagash.com
@rodolfof

Lagash Systems
marianos@lagash.com
@marianosz
Release early, release often

http://en.wikipedia.org/wiki/Release_early,_release_often
Baby Steps
Foco en…
•
•
•
•

Developer productivity
Application performance
Continuous innovation
Open Source
Visual Studio 2013
• IDE
– Synchronized Settings in Visual Studio
– Peek Definition
– Enhanced Scroll Bar
– CodeLens heads-up display
– Navigate To
Visual Studio 2013
• Debugging and Diagnostics
–Edit and Continue en 64-Bits Apps
–Code Map
Visual Studio 2013
• Async Debug mejorado
.NET 4.5.1
• Es un update de .NET 4.5
–Obvio, no? 
.NET 4.5.1
• Automatic Binding Redirection
• Mas información sobre performance en
EventSource
• ADO.NET idle connection resiliency
.NET 4.5.1
• Application performance
– ASP.NET app suspension
.NET 4.5.1
• Application performance
– Multi-core JIT improvements
.NET 4.5.1
• Application performance
– On-demand large object heap compaction
• GCSettings.LargeObjectHeapCompactionMode

– Consistent performance before and after servicing
the .NET Framework
Demo
What’s new in ASP.NET
ASP.NET and Web Tools Cadence
Continuous innovation: Release every ~6 months

Sept
201
2

ASP.NET
4.5
VS2012

Feb
201
3

ASP.NET
and Web
Tools
2012.2

Fall
2013

VS2013
One ASP.NET
Service
s

Websites
Web Forms

Web-pages

Single-Page
Apps

MVC

Web API

SignalR
One ASP.NET

No “upfront decision”
on any ASP.NET
technology

Bootstrap used for
layout and styling

Unified dialog

Popular CSS layout framework

One Project: Web Forms, MVC, Web
API

Many themes available

Add any framework to any project
Scaffolding works across all
frameworks
Configurable authentication

Templates based on Bootstrap.js

Completely new
scaffolding system for
One ASP.NET
Web application code generation
based on your data model
Targets data-driven and CRUD
boilerplate code
ASP.NET Identity
(a.k.a. Membership)

New
Membership
system

One ASP.NET
Identity
system

Supports
Integrated
claims-based with external
authentication logons
One ASP.NET

New HTML AngularJS
editor
IntelliSense

Browser Link Highlights
It improves the way you develop web apps; no
need to start/stop. Just “refresh” and see how
your app runs in browsers.
Make changes in Visual Studio and force an update in
connected browsers
A bi-directional channel
Built on open web standards

Enable Edit Browser
and
Link
Continue
(“Artery”)
By default for new web
apps
What’s New in Entity Framework 6?
Demo
One ASP.NET and
MVC Scaffolding “Bootstrap” Feature
Browser Link in
VS 2013 Web Tooling
OWIN
OWIN = Open
Standards for
Web Interface for connecting
.NET
servers to
Common interface that decouples
frameworks
apps from servers
Deeply integrated with the ASP.NET
pipeline

Run your web
APIs on any
OWIN-compliant
host (your own
process)
What is Katana?
OWIN components that are built and released by Microsoft
Infrastructure components, as hosts and servers
Authentication components
Bindings to frameworks such as SignalR and ASP.NET Web API
High-Level Goals of Katana
Portable

Modular/flexible

Easily substituted for new
components

Small and focused components

Third-party frameworks can
seamlessly run on Microsoft
servers
Microsoft frameworks can
potentially run on third-party
servers and hosts

Lightweight

Lightweight/
performance/
scalable
Consume fewer computing
resources
Handle more load
ASP.NET
Web API 2

Available as
stand-alone
NuGet
packages

Web API
security
(CORS,
OAuth 2.0)

Attribute
routing

Web API
OData

OWIN
integration
Cross-Origin Requests
Enable CORS
in web API
Per action
Per controller

[EnableCors(origins: "http://www.example.com", headers: "*",
methods: "*")]
public class ItemsController : ApiController
{
public HttpResponseMessage GetAll() { ... }
public HttpResponseMessage GetItem(int id) { ... }
public HttpResponseMessage Post() { ... }

Globally

[DisableCors]
public HttpResponseMessage PutItem(int id) { ... }
}
Bring your routes closer to your resources
config.Routes.MapHttpRoute(
name: “TodosForTodoList",
routeTemplate: "api/todolists/{id}/todos",
defaults: new { controller = “todolists”, action = “GetTodos” }
);

public IEnumerable<TodoItem> GetTodos() { … }
Bring your routes closer to your resources

config.MapHttpAttributeRoutes();

[HttpGet("api/todolists/{id}/todos")]
public IEnumerable<TodoItem> GetTodos(int id) { … }
Attribute Routing

Optional values
[HttpGet(“Demographics/{zipcode?}")]
public Demographics Get(int? zipcode) { … }

Default values
[HttpGet("Demographics/{zipcode=98052}")]
public Demographics Get(int zipcode) { … }
[HttpGet("people/{id:int}")]
public Person Get(int id) { … }
[HttpGet("people/{name:alpha}")]
public Person Get(string name) { … }
Taking Web APIs to the Next Level
How to add support for:
Relationships?
Query?
Paging?
Action?
Batching?
Clients?

OData provides a standard solution for common Web API patterns
ASP.NET Web API OData
Components for implementing
OData services
Model builders, formatters
(Atom/JSON/XML), path and query
parsers, LINQ expression generator,
etc.

Built on ODataLib
Same underpinnings as WCF Data
Services

Open Source
Accepting contributions

Now supports $select,
$expand, and $batch
What is ASP.NET SignalR?
Incredibly simple real-time
web for .NET

How can I use real-time
functionality in my app?

Simplicity

Anytime a user refreshes the page or you
use polling

Reach
Performance

Dashboards and monitoring
Collaborative anything

Gaming
Real-time forms and concurrency management
ASP.NET SignalR 2.0
OWIN
Simplified dependency graph

OWIN
Portable
integration Class
Library
client

Unified startup configuration story
Highly portable between IIS and self-host

Portable Class Library
Client libs for WinRT, WPF, WP8 and SL5

Xamarin
client (iOS,
Android,
and Mac)

C++ client
for
Windows
Demo
Web API 2
Attribute routing
OWIN
SignalR
Visual Studio tooling for
Windows
Azure
Visual Studio Server Explorer

All services are
now contained
under a single
Windows Azure
node
VS OAuth with WLID
Visual Studio Server Explorer

Subscription and
Region Filtering
Support
Virtual Machines from Visual Studio

Stop/Start Virtual
Machines within
Visual Studio
Remote Debugging

Remote
Debugging
Web Sites
Cloud Services
Demo
Visual Studio tooling for
Windows
Azure
Contacto
• Mail:
– rodolfof@lagash.com
– marianos@lagash.com

• Blogs:
– http://shockbyte.net
– http://weblogs.asp.net/marianos/

• Twitter:
– @rodolfof
– @marianosz
¡Gracias!

Contenu connexe

Tendances

Getting Started with ASP.net Core 1.0
Getting Started with ASP.net Core 1.0Getting Started with ASP.net Core 1.0
Getting Started with ASP.net Core 1.0joescars
 
ASP.NET 5 Overview - Post Build 2015
ASP.NET 5 Overview - Post Build 2015ASP.NET 5 Overview - Post Build 2015
ASP.NET 5 Overview - Post Build 2015Shahed Chowdhuri
 
Use React tools for better Angular apps
Use React tools for better Angular appsUse React tools for better Angular apps
Use React tools for better Angular appsMartin Hochel
 
ASP.NET Core MVC + Web API with Overview (Post RC2)
ASP.NET Core MVC + Web API with Overview (Post RC2)ASP.NET Core MVC + Web API with Overview (Post RC2)
ASP.NET Core MVC + Web API with Overview (Post RC2)Shahed Chowdhuri
 
Migrating .NET Application to .NET Core
Migrating .NET Application to .NET CoreMigrating .NET Application to .NET Core
Migrating .NET Application to .NET CoreBaris Ceviz
 
Microsoft 2014 Dev Plataform - Roslyn -& ASP.NET vNext
Microsoft 2014 Dev Plataform -  Roslyn -& ASP.NET vNextMicrosoft 2014 Dev Plataform -  Roslyn -& ASP.NET vNext
Microsoft 2014 Dev Plataform - Roslyn -& ASP.NET vNextRodolfo Finochietti
 
Using REST with VSTS and TFS
Using REST with VSTS and TFSUsing REST with VSTS and TFS
Using REST with VSTS and TFSJeff Bramwell
 
Building Extensions in VSTS and TFS
Building Extensions in VSTS and TFSBuilding Extensions in VSTS and TFS
Building Extensions in VSTS and TFSJeff Bramwell
 
What's new in Visual Studio 2013 & TFS 2013
What's new in Visual Studio 2013 & TFS 2013What's new in Visual Studio 2013 & TFS 2013
What's new in Visual Studio 2013 & TFS 2013Danijel Malik
 
Moving forward with ASP.NET Core
Moving forward with ASP.NET CoreMoving forward with ASP.NET Core
Moving forward with ASP.NET CoreEnea Gabriel
 
Microsoft &lt;3 Linux with ASP.NET Core
Microsoft &lt;3 Linux with ASP.NET CoreMicrosoft &lt;3 Linux with ASP.NET Core
Microsoft &lt;3 Linux with ASP.NET CoreJohn Patrick Oliveros
 
Net developer days presentation
Net developer days   presentationNet developer days   presentation
Net developer days presentationAlexandre Malavasi
 
ASP.NET Core 2.0: The Future of Web Apps
ASP.NET Core 2.0: The Future of Web AppsASP.NET Core 2.0: The Future of Web Apps
ASP.NET Core 2.0: The Future of Web AppsShahed Chowdhuri
 
Performance testing with VSTs on- and off-premises
Performance testing with VSTs on-  and off-premisesPerformance testing with VSTs on-  and off-premises
Performance testing with VSTs on- and off-premisesJeff Bramwell
 

Tendances (20)

Getting Started with ASP.net Core 1.0
Getting Started with ASP.net Core 1.0Getting Started with ASP.net Core 1.0
Getting Started with ASP.net Core 1.0
 
.Net Core
.Net Core.Net Core
.Net Core
 
ASP.NET 5 Overview - Post Build 2015
ASP.NET 5 Overview - Post Build 2015ASP.NET 5 Overview - Post Build 2015
ASP.NET 5 Overview - Post Build 2015
 
Use React tools for better Angular apps
Use React tools for better Angular appsUse React tools for better Angular apps
Use React tools for better Angular apps
 
Moving ASP.NET MVC to ASP.NET Core
Moving ASP.NET MVC to ASP.NET Core Moving ASP.NET MVC to ASP.NET Core
Moving ASP.NET MVC to ASP.NET Core
 
ASP.NET Core MVC + Web API with Overview (Post RC2)
ASP.NET Core MVC + Web API with Overview (Post RC2)ASP.NET Core MVC + Web API with Overview (Post RC2)
ASP.NET Core MVC + Web API with Overview (Post RC2)
 
Dot Net Core
Dot Net CoreDot Net Core
Dot Net Core
 
Migrating .NET Application to .NET Core
Migrating .NET Application to .NET CoreMigrating .NET Application to .NET Core
Migrating .NET Application to .NET Core
 
Azure Functions
Azure FunctionsAzure Functions
Azure Functions
 
Microsoft 2014 Dev Plataform - Roslyn -& ASP.NET vNext
Microsoft 2014 Dev Plataform -  Roslyn -& ASP.NET vNextMicrosoft 2014 Dev Plataform -  Roslyn -& ASP.NET vNext
Microsoft 2014 Dev Plataform - Roslyn -& ASP.NET vNext
 
.Net Core
.Net Core.Net Core
.Net Core
 
Using REST with VSTS and TFS
Using REST with VSTS and TFSUsing REST with VSTS and TFS
Using REST with VSTS and TFS
 
Building Extensions in VSTS and TFS
Building Extensions in VSTS and TFSBuilding Extensions in VSTS and TFS
Building Extensions in VSTS and TFS
 
What's new in Visual Studio 2013 & TFS 2013
What's new in Visual Studio 2013 & TFS 2013What's new in Visual Studio 2013 & TFS 2013
What's new in Visual Studio 2013 & TFS 2013
 
Moving forward with ASP.NET Core
Moving forward with ASP.NET CoreMoving forward with ASP.NET Core
Moving forward with ASP.NET Core
 
Microsoft &lt;3 Linux with ASP.NET Core
Microsoft &lt;3 Linux with ASP.NET CoreMicrosoft &lt;3 Linux with ASP.NET Core
Microsoft &lt;3 Linux with ASP.NET Core
 
Net developer days presentation
Net developer days   presentationNet developer days   presentation
Net developer days presentation
 
Automated Testing in DevOps
Automated Testing in DevOpsAutomated Testing in DevOps
Automated Testing in DevOps
 
ASP.NET Core 2.0: The Future of Web Apps
ASP.NET Core 2.0: The Future of Web AppsASP.NET Core 2.0: The Future of Web Apps
ASP.NET Core 2.0: The Future of Web Apps
 
Performance testing with VSTs on- and off-premises
Performance testing with VSTs on-  and off-premisesPerformance testing with VSTs on-  and off-premises
Performance testing with VSTs on- and off-premises
 

En vedette

En vedette (7)

Solo Learn CSS certificate
Solo Learn CSS certificateSolo Learn CSS certificate
Solo Learn CSS certificate
 
Solo Learn PHP certificate
Solo Learn PHP certificateSolo Learn PHP certificate
Solo Learn PHP certificate
 
Developing an ASP.NET Web Application
Developing an ASP.NET Web ApplicationDeveloping an ASP.NET Web Application
Developing an ASP.NET Web Application
 
Lenguaje PHP
Lenguaje PHPLenguaje PHP
Lenguaje PHP
 
ppt on embedded system
ppt on embedded systemppt on embedded system
ppt on embedded system
 
Embedded System Basics
Embedded System BasicsEmbedded System Basics
Embedded System Basics
 
Operating system overview concepts ppt
Operating system overview concepts pptOperating system overview concepts ppt
Operating system overview concepts ppt
 

Similaire à Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1

FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...WSPDC & FEDSPUG
 
Developing Web Sites and Services using Visual Studio 2013
Developing Web Sites and Services using Visual Studio 2013Developing Web Sites and Services using Visual Studio 2013
Developing Web Sites and Services using Visual Studio 2013Microsoft Visual Studio
 
Real World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesReal World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesBrian Culver
 
Best of Microsoft Dev Camp 2015
Best of Microsoft Dev Camp 2015Best of Microsoft Dev Camp 2015
Best of Microsoft Dev Camp 2015Bluegrass Digital
 
Websites, Web Services and Cloud Applications with Visual Studio
Websites, Web Services and Cloud Applications with Visual StudioWebsites, Web Services and Cloud Applications with Visual Studio
Websites, Web Services and Cloud Applications with Visual StudioMicrosoft Visual Studio
 
Real World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesReal World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesBrian Culver
 
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
 
Summit Australia 2019 - PowerApp Portals - Andrew Ly & Lachlan Wright
Summit Australia 2019 - PowerApp Portals - Andrew Ly & Lachlan WrightSummit Australia 2019 - PowerApp Portals - Andrew Ly & Lachlan Wright
Summit Australia 2019 - PowerApp Portals - Andrew Ly & Lachlan WrightAndrew Ly
 
IBM WebSphere Portal 6.1 Preview - What's New
IBM WebSphere Portal 6.1 Preview - What's NewIBM WebSphere Portal 6.1 Preview - What's New
IBM WebSphere Portal 6.1 Preview - What's NewDvir Reznik
 
WPF Unleashed: Building Application with Visual Studio 2008 SP1
WPF Unleashed: Building Application with Visual Studio 2008 SP1WPF Unleashed: Building Application with Visual Studio 2008 SP1
WPF Unleashed: Building Application with Visual Studio 2008 SP1Dave Bost
 
Novidades Do Asp.Net 4 E Do Visual Studio 2010
Novidades Do Asp.Net 4 E Do Visual Studio 2010Novidades Do Asp.Net 4 E Do Visual Studio 2010
Novidades Do Asp.Net 4 E Do Visual Studio 2010Rodrigo Kono
 
Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365Kashif Imran
 
Abhiram_Bharadwaj_Resume -Both
Abhiram_Bharadwaj_Resume -BothAbhiram_Bharadwaj_Resume -Both
Abhiram_Bharadwaj_Resume -BothAbhiram Bharadwaj
 
Creating Data Driven Web Apps with BIRT - Pierre Richer (Actuate)
Creating Data Driven Web Apps with BIRT - Pierre Richer (Actuate)Creating Data Driven Web Apps with BIRT - Pierre Richer (Actuate)
Creating Data Driven Web Apps with BIRT - Pierre Richer (Actuate)jaxLondonConference
 

Similaire à Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1 (20)

FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
 
Developing Web Sites and Services using Visual Studio 2013
Developing Web Sites and Services using Visual Studio 2013Developing Web Sites and Services using Visual Studio 2013
Developing Web Sites and Services using Visual Studio 2013
 
Real World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesReal World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure Services
 
Best of Microsoft Dev Camp 2015
Best of Microsoft Dev Camp 2015Best of Microsoft Dev Camp 2015
Best of Microsoft Dev Camp 2015
 
Websites, Web Services and Cloud Applications with Visual Studio
Websites, Web Services and Cloud Applications with Visual StudioWebsites, Web Services and Cloud Applications with Visual Studio
Websites, Web Services and Cloud Applications with Visual Studio
 
Spsmi13 charts
Spsmi13 chartsSpsmi13 charts
Spsmi13 charts
 
Real World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesReal World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure Services
 
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
 
Summit Australia 2019 - PowerApp Portals - Andrew Ly & Lachlan Wright
Summit Australia 2019 - PowerApp Portals - Andrew Ly & Lachlan WrightSummit Australia 2019 - PowerApp Portals - Andrew Ly & Lachlan Wright
Summit Australia 2019 - PowerApp Portals - Andrew Ly & Lachlan Wright
 
IBM WebSphere Portal 6.1 Preview - What's New
IBM WebSphere Portal 6.1 Preview - What's NewIBM WebSphere Portal 6.1 Preview - What's New
IBM WebSphere Portal 6.1 Preview - What's New
 
Real-Time Web Applications with ASP.NET WebAPI and SignalR
Real-Time Web Applications with ASP.NET WebAPI and SignalRReal-Time Web Applications with ASP.NET WebAPI and SignalR
Real-Time Web Applications with ASP.NET WebAPI and SignalR
 
WPF Unleashed: Building Application with Visual Studio 2008 SP1
WPF Unleashed: Building Application with Visual Studio 2008 SP1WPF Unleashed: Building Application with Visual Studio 2008 SP1
WPF Unleashed: Building Application with Visual Studio 2008 SP1
 
Novidades Do Asp.Net 4 E Do Visual Studio 2010
Novidades Do Asp.Net 4 E Do Visual Studio 2010Novidades Do Asp.Net 4 E Do Visual Studio 2010
Novidades Do Asp.Net 4 E Do Visual Studio 2010
 
【BS1】What’s new in visual studio 2022 and c# 10
【BS1】What’s new in visual studio 2022 and c# 10【BS1】What’s new in visual studio 2022 and c# 10
【BS1】What’s new in visual studio 2022 and c# 10
 
KhajavaliShaik
KhajavaliShaikKhajavaliShaik
KhajavaliShaik
 
Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365
 
Abhiram_Bharadwaj_Resume -Both
Abhiram_Bharadwaj_Resume -BothAbhiram_Bharadwaj_Resume -Both
Abhiram_Bharadwaj_Resume -Both
 
B.Karthik
B.KarthikB.Karthik
B.Karthik
 
Visual studio 2019 launch
Visual studio 2019 launch Visual studio 2019 launch
Visual studio 2019 launch
 
Creating Data Driven Web Apps with BIRT - Pierre Richer (Actuate)
Creating Data Driven Web Apps with BIRT - Pierre Richer (Actuate)Creating Data Driven Web Apps with BIRT - Pierre Richer (Actuate)
Creating Data Driven Web Apps with BIRT - Pierre Richer (Actuate)
 

Plus de Rodolfo Finochietti (20)

Introduction to Rust language programming
Introduction to Rust language programmingIntroduction to Rust language programming
Introduction to Rust language programming
 
Go
GoGo
Go
 
Re-bot-lution
Re-bot-lutionRe-bot-lution
Re-bot-lution
 
Despliegue y Monitoreo de aplicaciones ASP.NET Core en Linux
Despliegue y Monitoreo de aplicaciones ASP.NET Core en LinuxDespliegue y Monitoreo de aplicaciones ASP.NET Core en Linux
Despliegue y Monitoreo de aplicaciones ASP.NET Core en Linux
 
ASP.NET Core 1.0
ASP.NET Core 1.0ASP.NET Core 1.0
ASP.NET Core 1.0
 
Azure IoT Hub
Azure IoT HubAzure IoT Hub
Azure IoT Hub
 
Introduccion a Node.js
Introduccion a Node.jsIntroduccion a Node.js
Introduccion a Node.js
 
IoT y Dispositivos
IoT y DispositivosIoT y Dispositivos
IoT y Dispositivos
 
.NET Multiplataforma
.NET Multiplataforma .NET Multiplataforma
.NET Multiplataforma
 
Windows 10 Developer Readiness
Windows 10 Developer ReadinessWindows 10 Developer Readiness
Windows 10 Developer Readiness
 
Aplicaciones Real-Time con SignalR
Aplicaciones Real-Time con SignalRAplicaciones Real-Time con SignalR
Aplicaciones Real-Time con SignalR
 
ASP.NET 5
ASP.NET 5ASP.NET 5
ASP.NET 5
 
Roslyn: el futuro de C#
Roslyn: el futuro de C#Roslyn: el futuro de C#
Roslyn: el futuro de C#
 
Proyectos de Base de Datos con Visual Studio 2013
Proyectos de Base de Datos con Visual Studio 2013Proyectos de Base de Datos con Visual Studio 2013
Proyectos de Base de Datos con Visual Studio 2013
 
ALM con Visual Studio y TFS 2013
ALM con Visual Studio y TFS 2013ALM con Visual Studio y TFS 2013
ALM con Visual Studio y TFS 2013
 
Introducción a ASP.NET Web API
Introducción a ASP.NET Web APIIntroducción a ASP.NET Web API
Introducción a ASP.NET Web API
 
ASP.NET MVC Workshop Día 3
ASP.NET MVC Workshop Día 3ASP.NET MVC Workshop Día 3
ASP.NET MVC Workshop Día 3
 
ASP.NET MVC Workshop Día 2
ASP.NET MVC Workshop Día 2ASP.NET MVC Workshop Día 2
ASP.NET MVC Workshop Día 2
 
ASP.NET MVC Workshop Día 1
ASP.NET MVC Workshop Día 1ASP.NET MVC Workshop Día 1
ASP.NET MVC Workshop Día 1
 
HTML5 Media Queries
HTML5 Media QueriesHTML5 Media Queries
HTML5 Media Queries
 

Dernier

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 

Dernier (20)

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 

Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1

  • 1. Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1 Rodolfo Finochietti Mariano Sánchez MVP ASP.NET/IIS Lagash Systems rodolfof@lagash.com @rodolfof Lagash Systems marianos@lagash.com @marianosz
  • 2. Release early, release often http://en.wikipedia.org/wiki/Release_early,_release_often
  • 4. Foco en… • • • • Developer productivity Application performance Continuous innovation Open Source
  • 5. Visual Studio 2013 • IDE – Synchronized Settings in Visual Studio – Peek Definition – Enhanced Scroll Bar – CodeLens heads-up display – Navigate To
  • 6. Visual Studio 2013 • Debugging and Diagnostics –Edit and Continue en 64-Bits Apps –Code Map
  • 7. Visual Studio 2013 • Async Debug mejorado
  • 8. .NET 4.5.1 • Es un update de .NET 4.5 –Obvio, no? 
  • 9. .NET 4.5.1 • Automatic Binding Redirection • Mas información sobre performance en EventSource • ADO.NET idle connection resiliency
  • 10. .NET 4.5.1 • Application performance – ASP.NET app suspension
  • 11. .NET 4.5.1 • Application performance – Multi-core JIT improvements
  • 12. .NET 4.5.1 • Application performance – On-demand large object heap compaction • GCSettings.LargeObjectHeapCompactionMode – Consistent performance before and after servicing the .NET Framework
  • 13. Demo
  • 14. What’s new in ASP.NET
  • 15. ASP.NET and Web Tools Cadence Continuous innovation: Release every ~6 months Sept 201 2 ASP.NET 4.5 VS2012 Feb 201 3 ASP.NET and Web Tools 2012.2 Fall 2013 VS2013
  • 17. One ASP.NET No “upfront decision” on any ASP.NET technology Bootstrap used for layout and styling Unified dialog Popular CSS layout framework One Project: Web Forms, MVC, Web API Many themes available Add any framework to any project Scaffolding works across all frameworks Configurable authentication Templates based on Bootstrap.js Completely new scaffolding system for One ASP.NET Web application code generation based on your data model Targets data-driven and CRUD boilerplate code
  • 18. ASP.NET Identity (a.k.a. Membership) New Membership system One ASP.NET Identity system Supports Integrated claims-based with external authentication logons
  • 19. One ASP.NET New HTML AngularJS editor IntelliSense Browser Link Highlights It improves the way you develop web apps; no need to start/stop. Just “refresh” and see how your app runs in browsers. Make changes in Visual Studio and force an update in connected browsers A bi-directional channel Built on open web standards Enable Edit Browser and Link Continue (“Artery”) By default for new web apps
  • 20. What’s New in Entity Framework 6?
  • 21. Demo One ASP.NET and MVC Scaffolding “Bootstrap” Feature Browser Link in VS 2013 Web Tooling
  • 22. OWIN OWIN = Open Standards for Web Interface for connecting .NET servers to Common interface that decouples frameworks apps from servers Deeply integrated with the ASP.NET pipeline Run your web APIs on any OWIN-compliant host (your own process)
  • 23. What is Katana? OWIN components that are built and released by Microsoft Infrastructure components, as hosts and servers Authentication components Bindings to frameworks such as SignalR and ASP.NET Web API
  • 24. High-Level Goals of Katana Portable Modular/flexible Easily substituted for new components Small and focused components Third-party frameworks can seamlessly run on Microsoft servers Microsoft frameworks can potentially run on third-party servers and hosts Lightweight Lightweight/ performance/ scalable Consume fewer computing resources Handle more load
  • 25. ASP.NET Web API 2 Available as stand-alone NuGet packages Web API security (CORS, OAuth 2.0) Attribute routing Web API OData OWIN integration
  • 26. Cross-Origin Requests Enable CORS in web API Per action Per controller [EnableCors(origins: "http://www.example.com", headers: "*", methods: "*")] public class ItemsController : ApiController { public HttpResponseMessage GetAll() { ... } public HttpResponseMessage GetItem(int id) { ... } public HttpResponseMessage Post() { ... } Globally [DisableCors] public HttpResponseMessage PutItem(int id) { ... } }
  • 27. Bring your routes closer to your resources config.Routes.MapHttpRoute( name: “TodosForTodoList", routeTemplate: "api/todolists/{id}/todos", defaults: new { controller = “todolists”, action = “GetTodos” } ); public IEnumerable<TodoItem> GetTodos() { … }
  • 28. Bring your routes closer to your resources config.MapHttpAttributeRoutes(); [HttpGet("api/todolists/{id}/todos")] public IEnumerable<TodoItem> GetTodos(int id) { … }
  • 29. Attribute Routing Optional values [HttpGet(“Demographics/{zipcode?}")] public Demographics Get(int? zipcode) { … } Default values [HttpGet("Demographics/{zipcode=98052}")] public Demographics Get(int zipcode) { … } [HttpGet("people/{id:int}")] public Person Get(int id) { … } [HttpGet("people/{name:alpha}")] public Person Get(string name) { … }
  • 30. Taking Web APIs to the Next Level How to add support for: Relationships? Query? Paging? Action? Batching? Clients? OData provides a standard solution for common Web API patterns
  • 31. ASP.NET Web API OData Components for implementing OData services Model builders, formatters (Atom/JSON/XML), path and query parsers, LINQ expression generator, etc. Built on ODataLib Same underpinnings as WCF Data Services Open Source Accepting contributions Now supports $select, $expand, and $batch
  • 32. What is ASP.NET SignalR? Incredibly simple real-time web for .NET How can I use real-time functionality in my app? Simplicity Anytime a user refreshes the page or you use polling Reach Performance Dashboards and monitoring Collaborative anything Gaming Real-time forms and concurrency management
  • 33. ASP.NET SignalR 2.0 OWIN Simplified dependency graph OWIN Portable integration Class Library client Unified startup configuration story Highly portable between IIS and self-host Portable Class Library Client libs for WinRT, WPF, WP8 and SL5 Xamarin client (iOS, Android, and Mac) C++ client for Windows
  • 34. Demo Web API 2 Attribute routing OWIN SignalR
  • 35. Visual Studio tooling for Windows Azure
  • 36. Visual Studio Server Explorer All services are now contained under a single Windows Azure node VS OAuth with WLID
  • 37. Visual Studio Server Explorer Subscription and Region Filtering Support
  • 38. Virtual Machines from Visual Studio Stop/Start Virtual Machines within Visual Studio
  • 40. Demo Visual Studio tooling for Windows Azure
  • 41. Contacto • Mail: – rodolfof@lagash.com – marianos@lagash.com • Blogs: – http://shockbyte.net – http://weblogs.asp.net/marianos/ • Twitter: – @rodolfof – @marianosz

Notes de l'éditeur

  1. ASP.NET and Web Tools Cadence is fast (every 6 months), and it is now separatefrom VS releases.This approach (including OSS) is more agile and provides a great continuous innovation with fewer surprises compared to big releases every 2 years, like Microsoft used to do a few years ago.This approach also relies heavily on NuGet packages, so developers can get new versions of ASP.NET much faster, without waiting for other releases.
  2. All of ASP.NET is a single platform, including Web-Forms. It’s more than just MVC and Web API. There is ONE ASP.NET and all of our Web Frameworks work together with similar features.There is one dialog for creating Web Forms, MVC, Web API, and SPA applications.Differences: MVC approach is newer and more powerful, but Web-Forms is easier and what many customers use.Example: With Friendly URLs, people using Web-Forms can do Mobile as well.Authorization is configurable at project creation time and will be extended with more options later.We made a simple UI for creating projects that offer support for multiple ASP.NET frameworks (Web Forms, MVC, and Web API). New features are available for Web Forms that used to be offered only for MVC, such as automatic test project creation and an intranet site template.Different authentication configurations can be chosen, which works the same in all ASP.NET frameworks and in web-hosting software other than IIS.
  3. One ASP.NET means…:Unified DialogScaffolding for everyoneMVC, Web Forms, Web API togetherNew extensible Identity SystemOWIN (Open Web Interface for .NET)No ASP.NET technology “upfront decision”Mix and match any ASP.NET technology (MVC, WebForms, WebAPI, etc.) within any VS web-projectBootstrap used for layout and stylingPopular CSS layout framework for simple and consistent page layoutBuilt-in responsive design for mobile, and glyphs for iconographyHighly themeable with many themes; both free and premium availableASP.NET Scaffolding is a code generation framework for ASP.NET Web applications. Visual Studio 2013 includes pre-installed code generators for MVC, Web Forms, and Web API projects. You add a scaffold to your project when you want to quickly add boilerplate code that interacts with data models. Using scaffolding can reduce the amount of time to develop standard data operations in your project.Code generation based on your data models; targets data-driven boilerplate codeSupports Web Forms, MVC, Web API, and moreDistribution via NuGet
  4. ASP.NET Identity is the new membership system for building ASP.NET web applications. ASP.NET Identity allows you to add logon features to your application and makes it easy to customize data about the logged-on user.The ASP.NET Identity membership system is a complete rewrite of the old Membership feature. Membership was a built-in way to validate and store user credentials, to manage user authentication in websites using the provider model to make it extensible, but it had many limitations. The new Identity system still supports user management and adding login features to applications, but it&apos;s easier to customize the data you store about each user. The magic of customizing user information happens through the use of Entity Framework&apos;s Code First feature. You can extend the Plain Old C# Object (POCO) classes it uses to automatically update the data store for the custom data. Identity uses a database by default, but you can also store it in other locations, such as SharePoint, Azure Table Service, or NoSql databases by plugging in a different storage provider.Featuresof the ASP.NET Identity system include:One ASP.NET Identity systemASP.NET Identity can be used with all of the ASP.NET frameworks such as ASP.NET MVC, Web Forms, Webpages, Web API, and SignalRPlug in profile data about the userWhen you create new users in your application, it is now easy to add extra information about the user, for example,to add a birthdate option for users when they register an account in your application.ASP.NET Identity uses Entity Framework Code First and you can extend the POCO classes.Persistence controlBy default the ASP.NET Identity system will store all the user information in a database. ASP.NET Identity uses Entity Framework Code First to implement all of its persistence mechanism.If your application requiresthat this information be stored in SharePoint, Azure Table Service, NoSql databases, etc., it is now possible to plug in different storage providers.Unit testabilityASP.NET Identity lets you write Unit Tests for the parts of your application that use ASP.NET IdentitySimple Role providerA Simple Role provider lets you restrict access to parts of your application by Roles. You can easily create Roles such as “Admin” and add Users to Roles.Claims BasedASP.NET Identity supports claims-based authentication, where the user’s identity is represented as a set of claims. The benefit of claims-based authentication is that it abstracts the individual elements of identity and access control into two parts: a general notion of claims and the concept of a trusted issuer or authority. This is a new way of thinking about identity and authentication that can overcome the limitations of relying on usernames and passwords, and now it&apos;s built into ASP.NET.External Logons You can easily add external logons such as Microsoft Account, Facebook, Twitter, and Google to your application and store the user specific data in your application using this system.You can also add logon functionality using Windows Azure Active Directory and store the user specific data in your application using this system.
  5. Browser Link – SignalR channel between browser and Visual StudioBrowser Link is a new feature that uses a SignalR channel between browsers and Visual Studio 2013. It allows manually refreshing of all connected browsers by clicking the toolbar refresh button. You can connect multiple browsers to your development site, including mobile emulators, and click refresh to refresh all the browsers at the same time.Browser Link is just a channel between your Visual Studio IDE and any open browser. This will allow dynamic data exchange between your web application and Visual Studio. This feature is enabled by default in Visual Studio 2013 Preview. When Browser Link is enabled we register an HTTPModule with ASP.NET, which will then inject a &lt;script&gt; reference to every page request from the server. This JavaScript connects the browser to Visual Studio. For Preview,a feature called the “Refresh Linked Browsers” uses this channel between browsers and IDE.Because the browser-side code is all JavaScript, it should work on all browsers, without requiring any other browser plug-in. It also works on iPad/iPhone emulators. The connection between the browser and Visual Studio uses SignalR, an ASP.NET technology for bi-directional communication over HTTP. When Browser link is enabled, Visual Studio acts as a SignalR server, to which multiple clients (the browsers) can connect.New HTML editorIn VS2013 a new HTML editor is released for Razor files and web project HTML files. Web Form files and Windows Store JavaScript application HTML files still use the legacy editor. The new HTML editor provides a single unified HTML5-based schema. It has some improvement such as automatic brace completion, jQuery UI and AngularJS attribute IntelliSense, attribute IntelliSense Grouping. The tools\options\Text Editors settings are different for legacy and new HTML editors, they are named “HTML (Razor)” (For web projects HTML files and razor files) and “HTML” (Web Forms and pages in Windows 8 Modern JavaScript app).“Enable Edit and Continue” debugging option is now on by default for new web applications.
  6. ToolingOur focus with the tooling has been on adding EF6 support and shipping out-of-band between releases of Visual Studio. The tooling itself does not include any new features, but most of the new runtime features can be used with models created in the EF Designer.Runtime (Available on NuGet)Async Query and Save adds support for the task-based asynchronous patterns that were introduced in .NET 4.5Custom Code First Conventions allow you to write your own conventions to help avoid repetitive configuration. We provide a simple API for lightweight conventions as well as some more complex building blocks to allow you to author more complicated conventions. Code First Mapping to Insert/Update/Delete Stored Procedures Connection Resiliency enables automatic recovery from transient connection failuresCode-Based Configuration gives you the option of performing configuration in code that was traditionally performed in a config file.Dependency Resolution introduces support for the Service Locator pattern and we factored out some pieces of functionality that can be replaced with custom implementations.Enums, Spatial and Better Performance on .NET 4.0 - By moving the core components that used to be in the .NET Framework into the EF NuGet package we are now able to offer enum support, spatial data types and the performance improvements from EF5 on .NET 4.0Configurable Migrations History Table allows you to customize the definition of the migrations history table. This is particularly useful for database providers that require the appropriate data types. etc.. to be specified for the Migrations History table to work correctly. DbContext can now be created with a DbConnection that is already opened which enables scenarios where it would be helpful if the connection could be open when creating the context (such as sharing a connection between components where you cannot guarantee the state of the connection).
  7. In the demo script “Developing Web sites and Services using Visual Studio 2013” see:Demo 3 – Visual Studio Web Tooling Demo 3.1– Browser link (optional)Demo 3.2 – IE11 Developer tools (optional)Demo 3.3 – Edit and continue
  8. NOTE for Speaker: Ifyou need to eliminate content because of time, OWIN/KATANA can be simplified because they are deeper internal infrastructure details.The Open Web Interface for .NET (OWIN)Inspired by the benefits achieved by Rack in the Ruby community, Node.JS, etc.,several members of the .NET community set out to create an abstraction between Web servers and framework components. Two design goals for the OWIN abstraction were that it would be simple and that it would have the fewest possible dependencies on other framework types. These two goals help ensure:New components could be more easily developed and consumed.Applications could be more easily ported between hosts and potentially entire platforms/operating systems.Open Web Interface for .NET (OWIN) defines an abstraction between .NET web servers and web applications. OWIN decouples the web application from the server, which makes OWIN ideal for self-hosting a web application in your own process, outside of IIS–for example, inside an Azure worker role.More Info =&gt; http://www.asp.net/aspnet/overview/owin-and-katana/an-overview-of-project-katana
  9. NOTE for Speaker: Ifyou need to eliminate content because of time, OWIN/KATANA can be simplified because they are deeper internal infrastructure details.Project KatanaWhereas both the OWIN specification and Owin.dll are community-owned and community-run,open-source efforts, the Katana project is the set of OWIN components that, while open source, are built and released by Microsoft.These components include infrastructure components, such as hosts and servers, as well as functional components, such as authentication and bindings to frameworks such as SignalR and ASP.NET Web API. More Info =&gt; http://www.asp.net/aspnet/overview/owin-and-katana/an-overview-of-project-katana
  10. NOTE for Speaker: Ifyou need to eliminate content because of time, OWIN/KATANA can be simplified because they are deeper internal infrastructure details.The project has the following three high-level goals: Portable – Components should be able to be easily substituted for new components as they become available. This includes everythingfrom the framework to the server and host. This means third-party frameworks can seamlessly run on Microsoft servers while Microsoft frameworks can potentially run on third-party servers and hosts.Modular/flexible – Unlike many frameworks which include a multitude of features that are turned on by default, Katana project components should be small and focused, giving the application developer control in decidingwhich components to use in her application.Lightweight/performance/scalable – By breaking the traditional idea of a framework into a set of small, focused components which are added explicitly by the application developer, a Katana application should consume fewer computing resources and handle more load than other types of servers and frameworks. As the application requires more features from the underlying infrastructure, they can be added to the OWIN pipeline, but that should be an explicit decision of the application developer. Additionally, the substitutability of lower level components means that as they become available, new high performance servers can seamlessly be introduced to improve the performance of OWIN applications without breaking those applications.
  11. Visual Studio 2013 and ASP.NET 4.5.1 expand the security options for Single Page Applications (SPA) and Web API services to integrate with external authentication services, which include several OAuth/OpenID and social media authentication services: Microsoft Accounts, Twitter, Facebook, and Google.Using External Authentication ServicesThe abundance of external authentication services that are currently available to web developers help to reduce development time when creating new web applications. Web users typically have several existing accounts for popular web services and social media websites. When a web application usesauthentication services from an external web service or social media website, it saves development time that would have been spent creating an authentication implementation. Plus, using an external authentication service saves end users from having to create another account for your web application, and from having to remember another username and password.Visual Studio 2013 and ASP.NET 4.5.1 make integration with external authentication services easier for developers by providing built-in integration for the following authentication services:FacebookGoogleMicrosoft Accounts (Windows Live ID accounts)TwitterRouting is how Web API matches a URI to an action. Web API 2 supports a new type of routing, called attribute routing. Open Web Interface for .NET (OWIN) defines an abstraction between .NET web servers and web applications. OWIN decouples the web application from the server, which makes OWIN ideal for self-hosting a web application in your own process, outside of IIS, for example, inside an Azure worker role.ASP.NET Web API OData makes it really simple to expose your IQueryable backend to be queried using the OData query syntax.
  12. CORS Support.Browser security prevents a webpage from making AJAX requests to another domain. This restriction is called the same-origin policy. However, sometimes you might want to let other sites call your web API. Cross Origin Resource Sharing (CORS) is a W3C standard that allows a server to relax the same-origin policy. Using CORS, a server can explicitly allow some cross-origin requests while rejecting others.You can enable CORS per action, per controller, or globally for all Web API controllers in your application. To enable CORS for a single action, set the [EnableCors] attribute on the action method If you set [EnableCors] on the controller class, it applies to all the actions on the controllerGlobally in Global.asax fileIf you apply the attribute at more than one scope, the order of precedence is:ActionControllerGlobalIf a browser supports CORS, it sets these headers automatically for cross-origin requests; you don’t need to do anything special in your JavaScript code.
  13. Routing is how Web API matches a URI to an action. Web API 2 supports a new type of routing, called attribute routing. As the name implies, attribute routing uses attributes to define routes. Attribute routing gives you more control over the URIs in your web API. For example, you can easily create URIs that describe hierarchies of resources.The earlier style of routing, called convention-based routing, is still fully supported. In fact, you can combine both techniques in the same projectThe first release of Web API used convention-based routing. In that type of routing, you define one or more route templates, which are basically parameterized strings. When the framework receives a request, it matches the URI against the route template.One advantage of convention-based routing is that templates are defined in a single place, and the routing rules are applied consistently across all controllers. Unfortunately, convention-based routing makes it hard to support certain URI patterns that are common in RESTful APIs.
  14. With attribute routing, it’s trivial to define a route for each URI. You simply add an attribute to the controller action
  15. The Open Data Protocol (OData) is a data access protocol for the web. OData provides a uniform way to structure data, query the data, and manipulate the data set through CRUD operations (create, read, update, and delete). OData supports both AtomPub (XML) and JSON formats. OData also defines a way to expose metadata about the data. Clients can use the metadata to discover the type information and relationships for the data set.Microsoft .NET developers have been able to create OData feeds since before there was even an OData spec. By using WCF Data Services, you could expose an Entity Data Model (EDM) over the Web using Representational State Transfer (REST). In other words, you could consume these services through HTTP calls: GET, PUT, DELETE and so on. As the framework for creating these services evolved (and was renamed a few times along the way), the output evolved as well and eventually became encapsulated in the OData specification (odata.org). Now there’s a great variety of client APIs for consuming OData—from .NET, from PHP, from JavaScript and from many other clients as well. But until recently, the only easy way to create a service was with WCF Data Services.
  16. ASP.NET Web API OData makes it easy to create an OData endpoint for a data set. You can control exactly which OData operations the endpoint supports. You can host multiple OData endpoints, alongside non-OData endpoints. You have full control over your data model, back-end business logic, and data layer.ASP.Net Web API OData makes it really simple to expose your IQueryable backend to be queried using the OData query syntax. If you are building using Entity Framework as your ORM (object-relational mapping) to talk to your database or just to store all your data in-memory (Linq2Objects), you are in good shape as you have an existingIQueryable.One of the ways Web API OData beatsWCF Data Services for building OData services is flexibility. What are $select and $expand?The $select operator allows a client to pick a subset of the properties of an entity to be retrieved when querying a feed or a single entity. The $expand operator allows a client to retrieve related entities for a given navigation property in line with the entities being retrieved.By using $select and $expand, we can make sure that we get the data we need in an optimal way. For example, we could use $select to return only the ID and Name properties of an entity, and we could use $expand to retrieve a Customer and his related Orders on a single query.Configuration options and formatter support for $select and $expandWhen dealing with a real application, we need a way to configure operators like $expand so that a client (by mistake or maliciously), can’t send an expensive query to the service. In the case of $expand, wecan configure the depth of the expansions we allow our clients to perform in their queries so they don’t cause a denial of service on the database.
  17. ASP.NET SignalR is a library for ASP.NET developers that simplifies the process of adding real-time web functionality to applications. Real-time web functionality is the ability to have server code push content to connected clients instantly as it becomes available, rather than having the server wait for a client to request new data. SignalR uses Websockets when it is supported by the browser and the server, and gracefully falls back to other techniques and technologies when it is not. Either way, your application code stays the same. SignalR can be used to add any sort of &quot;real-time&quot; web functionality to your ASP.NET application. While chat is often used as an example, you can do a whole lot more. Anytime a user refreshes a web page to see new data, or the page implements long polling to retrieve new data, it is a candidate for using SignalR. Examples include dashboards and monitoring applications, collaborative applications (such as simultaneous editing of documents), job progress updates, and real-time forms.SignalR also enables completely new types of web applications that require high frequency updates from the server, for example, real-time gaming. Apart from Web support, the PCL lib provides support for WinRT, Silverlight, WPF, console application, and Windows Phone clients, for both .NET 4 and .NET 4.5.SignalR provides a simple API for creating server-to-client remote procedure calls (RPC) that call JavaScript functions in client browsers (and other client platforms) from server-side .NET code. SignalR also includes API for connection management (for instance, connect and disconnect events), and grouping connections.SignalR handles connection management automatically and lets you broadcast messages to all connected clients simultaneously, like a chat room. You can also send messages to specific clients. The connection between the client and server is persistent, unlike a classic HTTP connection which is re-established for each communication.SignalR supports &quot;server push&quot; functionality, in which server code can call out to client code in the browser using Remote Procedure Calls (RPC), rather than the request-response model common on the web today. Supported Platforms =&gt; http://www.asp.net/signalr/overview/getting-started/supported-platforms
  18. Apart from Web support, the PCL lib provides support for WinRT, Silverlight, WPF, console application, and Windows Phone clients, for both .NET 4 and .NET 4.5.ASP.NET SignalR is a library for ASP.NET developers that simplifies the process of adding real-time web functionality to applications. Real-time web functionality is the ability to have server code push content to connected clients instantly as it becomes available, rather than having the server wait for a client to request new data. SignalR uses Websockets when it is supported by the browser and the server, and gracefully falls back to other techniques and technologies when it is not. Either way, your application code stays the same. SignalR can be used to add any sort of &quot;real-time&quot; web functionality to your ASP.NET application. While chat is often used as an example, you can do a whole lot more. Anytime a user refreshes a web page to see new data, or the page implements long polling to retrieve new data, it is a candidate for using SignalR. Examples include dashboards and monitoring applications, collaborative applications (such as simultaneous editing of documents), job progress updates, and real-time forms.SignalR also enables completely new types of web applications that require high frequency updates from the server, for example, real-time gaming. SignalR provides a simple API for creating server-to-client remote procedure calls (RPC) that call JavaScript functions in client browsers (and other client platforms) from server-side .NET code. SignalR also includes API for connection management (for instance, connect and disconnect events), and grouping connections.SignalR handles connection management automatically, and lets you broadcast messages to all connected clients simultaneously, like a chat room. You can also send messages to specific clients. The connection between the client and server is persistent, unlike a classic HTTP connection, which is re-established for each communication.SignalR supports &quot;server push&quot; functionality, in which server code can call out to client code in the browser using Remote Procedure Calls (RPC), rather than the request-response model common on the web today. SupportedPlatforms=&gt; http://www.asp.net/signalr/overview/getting-started/supported-platforms
  19. In the demo script “Developing Web sites and Services using Visual Studio 2013” see:Demo 4 – WebApi2, Attribute routing, OWIN, OData, SignalR, Angular.js Demo 4.1 – Attribute routing Demo 4.2 – CORS Demo 4.4 – OData (optional)Demo 4.5 – Angular.js Demo 4.6 – SignalR
  20. With the Windows Azure SDK 2.1 release you’ll notice significant improvements in the Visual Studio Server Explorer.The explorer has been redesigned so that all Windows Azure services are now contained under a single Windows Azure node.  From the top level node you can now manage your Windows Azure credentials, import a subscription file or filter Server Explorer to only show services from particular subscriptions or regions. With the SDK 2.2 it´s possible to use OAuth authentication con Windows LiveID to manage your Windows Azure account, without using certificates.Once your subscription information is added, Windows Azure services from all your subscriptions are automatically enumerated in the Server Explorer. You no longer need to manually add services to Server Explorer individually. This provides a convenient way of viewing all of your cloud services, storage accounts, service bus namespaces, virtual machines, and web sites from one location.With the SDK 2.2 there are new nodes to manage; Mobile Service and SQL Database.
  21. Subscription and Region Filtering SupportUsing the Windows Azure node in Server Explorer, you can also now filter your Windows Azure services in the Server Explorer by the subscription or region they are in. If you have multiple subscriptions but need to focus your attention to just a few subscription for some period of time, this a handy way to hide the services from other subscriptions view until they become relevant. You can do the same sort of filtering by region.
  22. Virtual Machines now have context menu actions that allow you start, shutdown, restart and delete a Virtual Machine directly within the Visual Studio Server Explorer. The shutdown action enables you to shut down the virtual machine and suspend billing when the VM is not is use, and easily restart it when you need it:
  23. New in the SDK 2.2, it´s possible to debug remote application deployed in Web Sites and Cloud Services.
  24. Demos:“Demo 1 – Visual Studio tooling for Windows Azure”