View
4.851
Download
3
Category
Tags:
Preview:
DESCRIPTION
Citation preview
Speaker Name
Developing Websites and Services Using Microsoft® Visual Studio® 2013
Agenda
One ASP.NET Visual Studio Web Tooling
LightSwitch HTML5Web Apps
Services: OWIN, Web API 2, OData, SignalR 2.0
ASP.NET Identity
Entity Framework 6
ASP.NET
Web Forms
Websites
Web-pages
Single-PageApps
MVC Web API SignalR
Services
One ASP.NET
• ASP.NET 4.5 VS2012
Sept
2012
• ASP.NET and Web Tools 2012.2
Feb 201
3• VS2013Fall
2013
ASP.NET and Web Tools CadenceContinuous innovation: Release every ~6 months
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
Demo
One ASP.NET and MVC Scaffolding “Bootstrap” Feature
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
Demo
ASP.NET Identity
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”)
Demo
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 LevelHow to add support for:Relationships?Query?Paging?Action?Batching?Clients?
OData provides a standard solution for common Web API patterns
ASP.NET Web API ODataComponents 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 pollingDashboards and monitoringCollaborative anythingGamingReal-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 RoutingODataOWINSignalR
Entity Framework 6: Open Source
Not just the codeSource code
Nightly builds
Issue tracking
Feature specs
Design meeting notes
Accepting contributionsOnly EF team has commit rights
Same code review process as internal changes
Only affects how we develop, not how we shipSame license
Same support
Same quality
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
Entity Framework 6
Microsoft Visual Studio® LightSwitch™
Mobile Web Business Apps
Desktop Business Apps
Office 365 / SharePoint 2013 with Provider Hosting
New LightSwitch Features in VS 2013
Work seamlessly with the IDE
Multiple designers at the same time
Improved team development
Improved JavaScript IntelliSense
API support for refreshing data
Integration with other Visual Studio features
No longer switch between Logical View and File View
Intrinsic database management with linked database project
Demo
LightSwitch HTML5 Web Apps
SummaryFrameworks for scalable, available servicesAll of our ASP.NET Web Frameworks work together with similar features
Tooling for modern applicationsEasier than ever to build modern applications Integrated with the most popular frameworksSimplified deployment to Windows Azure
Rapid application development toolsVisual Studio LightSwitch 2013
Calls to Action
Download Visual Studio 2013http://www.microsoft.com/visualstudio
Try Visual Studio OnlineActivate your MSDN benefit or sign up for a plan
http://www.visualstudio.com
Get started with Windows AzureActivate your MSDN Benefit and try it, or get a Windows Azure Free Trial Account.
http://www.windowsazure.com
© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Recommended