4. Continuous innovation: Release every ~6 months
Sept
2012
ASP.NET
4.5
VS2012
Feb
2013
ASP.NET
and Web
Tools
2012.2
Fall
2013
VS2013
5. No “upfront decision”
on any ASP.NET
technology
Unified 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 styling
Templates based on
Bootstrap.js
Popular CSS layout framework
Many themes available
Completely new
scaffolding system
for One ASP.NET
Web application code
generation based on your data
model
Targets data-driven and CRUD
boilerplate code
10. 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() { ... }
[DisableCors]
public HttpResponseMessage PutItem(int id) { ... }
Globally
}
11. OWIN = Open
Web Interface
for .NET
Common interface that
decouples apps from servers
Standards for
connecting
servers to
frameworks
Deeply integrated with the
ASP.NET pipeline
Run your web
APIs on any
OWINcompliant host
(your own
process)
13. Portable
Easily 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/flexible Lightweight/
Small and focused components
performance/
Lightweight
scalable
Consume fewer computing
resources
Handle more load
14. 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() { … }
15. Bring your routes closer to your resources
config.MapHttpAttributeRoutes();
[HttpGet("api/todolists/{id}/todos")]
public IEnumerable<TodoItem> GetTodos(int id) { … }
16. 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) { … }
17. How to add support for:
OData provides a standard solution for common Web API
patterns
19. Incredibly simple realtime web for .NET
How can I use real-time
functionality in my app?
Simplicity
Anytime a user refreshes the page or you
use polling
Dashboards and monitoring
Collaborative anything
Gaming
Real-time forms and concurrency management
Reach
Performance
22. Sandbox environments for application development and testing
on supported OS
QA and application compatibility on new O/S (e.g., WS 2012) or
software (e.g., SQL Server 2012)
Stress & load testing
SharePoint 2013 dev/test sandbox
Reproduction and bug fixing for s/w and app stack failures
Environment for doing training, learning and application demos
TFS: Customized TFS setup with < 2200 users; testing TFS
upgrades and roll-outs
23. Test/Dev VMs in the cloud
Windows Azure
Leverage existing skillset to
move test/dev to cloud
Hyper-V
VHD
Saved
Disk
State
Deploy
Sandbox Test/Dev
VMs
Connectivity with on-premises
data and applications
Azure Storage
Common identity
VPN
Tunnel
Onpremises
Dispersed
Teams
Common dev tools and
frameworks for on-premise &
cloud
Accessed by a geographically
dispersed team
24. Activate your MSDN Windows Azure benefit and
receive up to $150 in credit each month to use on
any Windows Azure service including
VMs, Websites, Databases and more.
http://aka.ms/vsAzure
26. Decrease onboarding costs and increase customer satisfaction
Web Sites cluster
Web workers
Server or virtual machine
Local routing logic
End user
Development Tools
Worker process
(w3wp)
HTTP/S
Request
Front-end
application
request
router
…..
Upstream
hardware
loadbalancers
Temporary perapp file storage
Front-end
application
request router
Persistent
storage
Visual Studio,
WebMatrix
Protocols
FTP, Git, WebDeplo
y, HTTP
Source control integration
Web
application
databases
Cluster topology and
run-time state
Resource usage data
Web
application file
directories
Visual Studio Team Foundation Server 2010
Developer tools and protocols
27.
28. Frameworks for scalable, available services
Tooling for modern applications
Rapid application development tools