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

Post on 14-Jan-2015

4.796 views 1 download

description

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

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

Que hay de nuevo en Visual Studio 2013

yASP.NET 5.1

Rodolfo FinochiettiMVP ASP.NET/IISLagash Systemsrodolfof@lagash.com@rodolfof

Mariano Sánchez

Lagash Systemsmarianos@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 4.5 VS2012

Sept

2012

• ASP.NET and Web Tools 2012.2

Feb 2013

• VS2013Fall2013

ASP.NET and Web Tools Cadence

Continuous innovation: Release every ~6 months

ASP.NET

Web Forms

Websites

Web-pages Single-PageApps MVC Web API SignalR

Services

One ASP.NET

No “upfront decision” on any ASP.NET technologyUnified dialog

One Project: Web Forms, MVC, Web API

Add any framework to any project

Scaffolding works across all frameworks

Configurable authentication

Bootstrap used for layout and stylingTemplates based on Bootstrap.js

Popular CSS layout framework

Many themes available

Completely new scaffolding system for One ASP.NETWeb application code generation based on your data model

Targets data-driven and CRUD boilerplate code

One ASP.NET

ASP.NET Identity (a.k.a. Membership)

Complete rewrite of the old Membership feature

Default authentication against different storage providers

Easier to customize

Can be used from different ASP.NET technologies

Integrated with external logons through providers

Active Directory, Windows Azure Active Directory,

Microsoft Account, Facebook, Twitter, and Google

New Membership system

One ASP.NET Identity system

Supports claims-based authentication

Integrated with external logons

One ASP.NETBrowser Link HighlightsIt 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

New HTML editor

AngularJS IntelliSense

Enable Edit and ContinueBy default for new web apps

Browser Link(“Artery”)

What’s New in Entity Framework 6?

Custom Code First conventions

Code First mapping to store procedures

Connection resiliency

Code-based configuration

Configuration migrations history table

Multiple contexts per database

Async query and save

Dependency resolution

Demo

One ASP.NET and MVC Scaffolding “Bootstrap” Feature

Browser Link inVS 2013 Web Tooling

OWIN

OWIN = Open Web Interface for .NETCommon interface that decouples apps from servers

Standards for connecting servers to frameworksDeeply 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

PortableEasily substituted for new components

Third-party frameworks can seamlessly run on Microsoft servers

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

Modular/flexibleSmall and focused components

Lightweight

Lightweight/performance/scalableConsume fewer computing resources

Handle more load

Available as stand-alone NuGet packages

Web API security (CORS, OAuth 2.0)

Attribute routing

OWIN integration

Web API OData

ASP.NET Web API 2

Cross-Origin Requests

Enable CORS in web APIPer action

Per controller

Globally

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

[DisableCors] public HttpResponseMessage PutItem(int id) { ... }}

Attribute RoutingBring your routes closer to your resources

config.Routes.MapHttpRoute( name: “TodosForTodoList", routeTemplate: "api/todolists/{id}/todos", defaults: new { controller = “todolists”, action = “GetTodos” });

Controller Selector

Action Selector

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

Attribute Routing

Optional values Default values

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

[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 servicesModel builders, formatters (Atom/JSON/XML), path and query parsers, LINQ expression generator, etc.

Built on ODataLibSame underpinnings as WCF Data Services

Open SourceAccepting contributions

Now supports $select, $expand, and $batch

What is ASP.NET SignalR?

Incredibly simple real-time web for .NETSimplicity

Reach

Performance

How can I use real-time functionality in my app?Anytime a user refreshes the page or you use polling

Dashboards and monitoring

Collaborative anything

Gaming

Real-time forms and concurrency management

ASP.NET SignalR 2.0OWINSimplified dependency graph

Unified startup configuration story

Highly portable between IIS and self-host

Portable Class LibraryClient libs for WinRT, WPF, WP8 and SL5

OWIN integration

Portable Class Library client

Xamarin client (iOS, Android, and Mac)

C++ client for Windows

Demo

Web API 2Attribute routing

OWINSignalR

Visual Studio tooling for Windows

Azure

Visual Studio Server Explorer

All services are now contained under a single Windows Azure nodeVS 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 DebuggingWeb 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!