Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1
-
Upload
rodolfo-finochietti -
Category
Technology
-
view
4.791 -
download
1
description
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 [email protected]@rodolfof
Mariano Sánchez
Lagash [email protected]@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:– [email protected]– [email protected]
• Blogs:– http://shockbyte.net– http://weblogs.asp.net/marianos/
• Twitter:– @rodolfof– @marianosz
¡Gracias!