• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Que hay de nuevo en Visual Studio 2013 y ASP.NET 5.1
 

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

on

  • 2,916 views

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

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

Statistics

Views

Total Views
2,916
Views on SlideShare
2,134
Embed Views
782

Actions

Likes
1
Downloads
7
Comments
0

15 Embeds 782

http://shockbyte.net 505
http://weblogs.asp.net 127
http://feedly.com 86
http://www.newsblur.com 49
http://www.linkedin.com 2
http://inoreader.com 2
http://www.google.com 2
http://www.hanrss.com 2
https://www.commafeed.com 1
http://newsblur.com 1
http://127.0.0.1 1
https://www.linkedin.com 1
http://shockbyte.wordpress.com 1
http://www.feedspot.com 1
http://www.directrss.co.il 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

CC Attribution-NoDerivs LicenseCC Attribution-NoDerivs License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • 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.
  • 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.
  • 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
  • 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's easier to customize the data you store about each user. The magic of customizing user information happens through the use of Entity Framework'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'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.
  • 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
  • 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).
  • 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
  • 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 => http://www.asp.net/aspnet/overview/owin-and-katana/an-overview-of-project-katana
  • 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 => http://www.asp.net/aspnet/overview/owin-and-katana/an-overview-of-project-katana
  • 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.
  • 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.
  • 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.
  • 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.
  • With attribute routing, it’s trivial to define a route for each URI. You simply add an attribute to the controller action
  • 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.
  • 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.
  • 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 "real-time" 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 "server push" 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 => http://www.asp.net/signalr/overview/getting-started/supported-platforms
  • 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 "real-time" 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 "server push" 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=> http://www.asp.net/signalr/overview/getting-started/supported-platforms
  • 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
  • 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.
  • 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.
  • 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:
  • New in the SDK 2.2, it´s possible to debug remote application deployed in Web Sites and Cloud Services.
  • Demos:“Demo 1 – Visual Studio tooling for Windows Azure”

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

  • 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!