As a follow up to the post I made in preparation of the 70-480 exam, I’d like to continue the series now with a look at the 70-486. Just like last time, we’ll look at a list of resources based on the individual exam criteria!
General Resources
Microsoft Hands On Tutorial: http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/intro-to-aspnet-mvc-4
Building Web Apps with ASP.NET Jump Start: https://www.microsoftvirtualacademy.com/training-courses/create-web-apps-with-asp-net
Pluralsight Training (not free, but an excellent training resource! There is a trial available.): http://pluralsight.com/training/Courses/TableOfContents/mvc4-building
The Official ASP.NET MVC 4 Page: http://www.asp.net/mvc/mvc4
The source code for the ASP.NET Web Stack:http://aspnetwebstack.codeplex.com/
Microsoft Official Training Course: http://www.microsoft.com/learning/en/us/Course.aspx?ID=20486A&Locale=en-us#fbid=o4uXSVtIdvG
Test Breakdown
Design the Application Architecture
- Plan the application layers.
- This objective may include but is not limited to: plan data access; plan for separation of concerns; appropriate use of models, views, and controllers; choose between client-side and server side processing; design for scalability
http://www.asp.net/mvc/tutorials/hands-on-labs/aspnet-mvc-4-models-and-data-access
http://www.codeproject.com/Articles/54576/Understanding-ASP-NET-MVC-Model-View-Controller-Ar
http://programmers.stackexchange.com/questions/138561/pros-cons-between-emphasizing-client-side-or-server-side-processing
http://codebetter.com/iancooper/2010/01/27/mvc-or-webforms/
- Design a distributed application.
- This objective may include but is not limited to: design a hybrid application (on premise vs. off premise, including Windows Azure); plan for session management in a distributed environment; plan web farms
http://en.wikipedia.org/wiki/On-premises_software
http://www.dotnet-tricks.com/Tutorial/mvc/906b060113-Controlling-Session-Behavior-in-Asp.Net-MVC4.html
http://www.windowsazure.com/en-us/develop/net/tutorials/multi-tier-web-site/1-overview/
http://stackoverflow.com/questions/3463191/make-an-asp-net-mvc-application-web-farm-ready
- Design and implement the Windows Azure role life cycle.
- This objective may include but is not limited to: identify and implement Start, Run, and Stop events;identify startup tasks (IIS configuration [app pool], registry configuration, third-party tools)
http://mentormate.com/blog/windows-azure-development-lifecycle/
http://www.asp.net/mvc/tutorials/deployment/cse-curated-view-deploy-to-waws
- Configure state management.
- This objective may include but is not limited to: choose a state management mechanism (in-process and out of process state management, ViewState); plan for scalability; use cookies or local storage to maintain state; apply configuration settings in web.config file; implement sessionless state (for example, QueryString)
http://stackoverflow.com/questions/3463191/make-an-asp-net-mvc-application-web-farm-ready
http://diveintohtml5.info/storage.html
http://code-inside.de/blog-in/2010/10/19/howto-create-and-remove-cookies-with-asp-net-mvc/
- Design a caching strategy.
- This objective may include but is not limited to: implement page output caching (performance oriented); implement data caching; implement HTTP caching
http://blog.stevensanderson.com/2008/10/15/partial-output-caching-in-aspnet-mvc/
http://www.asp.net/mvc/tutorials/older-versions/controllers-and-routing/improving-performance-with-output-caching-cs
http://bartwullems.blogspot.com/2011/02/caching-in-net-4.html
http://msdn.microsoft.com/en-us/library/xsbfdd8c(v=vs.71).aspx
- Design and implement a Web Socket strategy.
- This objective may include but is not limited to: read and write string and binary data asynchronously (long-running data transfers); choose a connection loss strategy; decide a strategy for when to use Web Sockets
http://www.asp.net/vnext/overview/aspnet/whats-new#_Toc318097383
http://weblogs.asp.net/dwahlin/archive/2013/04/13/building-an-html5-web-sockets-server-with-asp-net-4-5.aspx
- Design HTTP modules and handlers.
- This objective may include but is not limited to: implement synchronous and asynchronous modules and handlers; choose between modules and handlers in IIS
http://msdn.microsoft.com/en-us/library/bb398986(v=vs.100).aspx
Design the User Experience
- Apply the user interface design for a web application.
- This objective may include but is not limited to: create and apply styles by using CSS; structure and lay out the user interface by using HTML; implement dynamic page content based on a design
http://www.microsoftvirtualacademy.com/training-courses/learn-html5-with-javascript-css3-jumpstart-training
- Design and implement UI behavior.
- This objective may include but is not limited to: implement client validation; use JavaScript and the DOM to control application behavior; extend objects by using prototypal inheritance; use AJAX to make partial page updates; implement the UI by using JQuery
http://www.codeproject.com/Articles/577937/A-Beginners-Tutorial-on-Validating-Model-Data-and
http://www.microsoftvirtualacademy.com/training-courses/learn-html5-with-javascript-css3-jumpstart-training
- Compose the UI layout of an application.
- This objective may include but is not limited to: implement partials for reuse in different areas of the application; design and implement pages by using Razor templates (Razor view engine); design layouts to provide visual structure; implement master/application pages
http://mvc4beginner.com/Tutorial/MVC-Partial-Views.html
http://www.asp.net/web-pages/tutorials/introducing-aspnet-web-pages-2/intro-to-web-pages-programming
http://www.asp.net/web-pages/tutorials/introducing-aspnet-web-pages-2/layouts
- Enhance application behavior and style based on browser feature detection.
- This objective may include but is not limited to: detect browser features and capabilities; create a web application that runs across multiple browsers and mobile devices; enhance application behavior and style by using vendor-specific extensions, for example, CSS
http://msdn.microsoft.com/library/3yekbd5b
http://stackoverflow.com/questions/7080605/ordering-of-vendor-specific-css-declarations
- Plan an adaptive UI layout.
- This objective may include but is not limited to: plan for running applications in browsers on multiple devices (screen resolution, CSS, HTML); plan for mobile web applications
http://bstavroulakis.com/blog/mobile/adaptive-rendering-asp-net-mvc-4/
Develop the User Experience
- Plan for search engine optimization and accessibility.
- This objective may include but is not limited to: use analytical tools to parse HTML; view and evaluate conceptual structure by using plugs-in for browsers; write semantic markup (HTML5 and ARIA) for accessibility, for example, screen readers
http://www.microsoft.com/web/seo
http://blog.paciellogroup.com/2012/06/using-aria-in-html/
https://developer.mozilla.org/en-US/docs/Accessibility/ARIA
- Plan and implement globalization and localization.
- This objective may include but is not limited to: plan a localization strategy; create and apply resources to UI including JavaScript resources; set cultures; create satellite resource assemblies
http://www.hanselman.com/blog/GlobalizationInternationalizationAndLocalizationInASPNETMVC3JavaScriptAndJQueryPart1.aspx
http://www.asp.net/mvc/overview/internationalization
- Design and implement MVC controllers and actions.
- This objective may include but is not limited to: apply authorization attributes and global filters; implement action behaviors; implement action results; implement model binding
http://blogs.msdn.com/b/rickandy/archive/2012/03/23/securing-your-asp-net-mvc-4-app-and-the-new-allowanonymous-attribute.aspx
http://msdn.microsoft.com/en-us/library/gg416513(VS.98).aspx
- Design and implement routes.
- This objective may include but is not limited to: define a route to handle a URL pattern; apply route constraints; ignore URL patterns; add custom route parameters; define areas
http://www.asp.net/mvc/overview/controllers-and-routing
- Control application behavior by using MVC extensibility points.
- This objective may include but is not limited to: implement MVC filters and controller factories; control application behavior by using action results, viewengines, model binders, and route handlers
http://www.asp.net/mvc/tutorials/older-versions/controllers-and-routing/understanding-action-filters-cs
http://www.codeproject.com/Articles/560798/ASP-NET-MVC-Controller-Dependency-Injection-for-Be
http://www.codeproject.com/Articles/467850/ASP-NET-MVC-view-engines
http://odetocode.com/blogs/scott/archive/2009/04/27/6-tips-for-asp-net-mvc-model-binding.aspx
https://www.simple-talk.com/dotnet/.net-framework/asp.net-mvc-routing-extensibility/
- Reduce network bandwidth.
- This objective may include but is not limited to: bundle and minify scripts (CSS and JavaScript); compress and decompress data (using gzip/deflate; storage); plan a content delivery network (CDN) strategy, for example, Windows Azure CDN
http://www.asp.net/mvc/tutorials/mvc-4/bundling-and-minification
http://stackoverflow.com/questions/3833682/asp-net-mvc-compression-caching
https://www.simple-talk.com/cloud/development/using-the-windows-azure-content-delivery-network/
Troubleshoot and Debug Web Applications
- Prevent and troubleshoot runtime issues.
- This objective may include but is not limited to: troubleshoot performance, security, and errors;implement tracing, logging (including using attributes for logging), and debugging (including IntelliTrace); enforce conditions by using code contracts; enable and configure health monitoring (including Performance Monitor)
http://msdn.microsoft.com/en-us/library/bb398859(v=vs.100).aspx
http://msdn.microsoft.com/en-us/vs2010trainingcourse_aspnetmvc3customactionfilters_topic2.aspx
http://devproconnections.com/aspnet-mvc/code-contracts-and-controllers
- Design an exception handling strategy.
- This objective may include but is not limited to: handle exceptions across multiple layers; display custom error pages using global.asax or creating your own HTTPHandler or set web.config attributes; handle first chance exceptions
http://www.asp.net/web-forms/tutorials/aspnet-45/getting-started-with-aspnet-45-web-forms/aspnet-error-handling
- Test a web application.
- This objective may include but is not limited to: create and run unit tests, for example, use the Assert class, create mocks; create and run web tests
http://blog.stevensanderson.com/2009/06/11/integration-testing-your-aspnet-mvc-application/
http://msdn.microsoft.com/en-us/library/jj159345.aspx
- Debug a Windows Azure application.
- This objective may include but is not limited to: collect diagnostic information by using Windows Azure Diagnostics API Implement on demand vs. scheduled; choose log types, for example, event logs, performance counters, and crash dumps; debug a Windows Azure application by using IntelliTrace and Remote Desktop Protocol (RDP)
http://msdn.microsoft.com/en-us/library/windowsazure/ee405479.aspx
http://msdn.microsoft.com/en-us/library/windowsazure/gg433048.aspx
http://blogs.msdn.com/b/golive/archive/2012/04/21/windows-azure-diagnostics-from-the-ground-up.aspx
Design and Implement Security
- Configure authentication.
- This objective may include but is not limited to: authenticate users; enforce authentication settings; choose between Windows, Forms, and custom authentication; manage user session by using cookies; configure membership providers; create custom membership providers
http://geekswithblogs.net/Aligned/archive/2012/08/30/mvc-4-authentication.aspx
http://notebookheavy.com/2012/08/22/mvc-4-authentication/
http://msdn.microsoft.com/en-us/library/ff398049(v=vs.98).aspx
http://www.asp.net/mvc/tutorials/older-versions/security/authenticating-users-with-windows-authentication-cs
http://www.asp.net/mvc/tutorials/mvc-4/using-oauth-providers-with-mvc
- Configure and apply authorization.
- This objective may include but is not limited to: create roles; authorize roles by using configuration; authorize roles programmatically ; create custom role providers; implement WCF service authorization
http://www.asp.net/mvc/tutorials/mvc-music-store/mvc-music-store-part-7
http://kitsula.com/Article/Custom-Role-Provider-for-MVC
- Design and implement claims-based authentication across federated identity stores.
- This objective may include but is not limited to: implement federated authentication by using Windows Azure Access Control Service; create a custom security token by using Windows Identity Foundation; handle token formats (for example, oAuth, OpenID, LiveID, and Facebook) for SAML and SWT tokens
http://www.windowsazure.com/en-us/develop/net/how-to-guides/access-control/
http://msdn.microsoft.com/en-us/library/ee517296.aspx
http://www.asp.net/mvc/tutorials/mvc-4/using-oauth-providers-with-mvc
- Manage data integrity.
- This objective may include but is not limited to: apply encryption to application data; apply encryption to the configuration sections of an application; sign application data to prevent tampering
http://msdn.microsoft.com/en-us/library/zhhddkxy(v=vs.100).aspx
- Implement a secure site with ASP.NET.
- This objective may include but is not limited to: secure communication by applying SSL certificates; salt and hash passwords for storage; use HTML encoding to prevent cross-site scripting attacks (ANTI-XSS Library); implement deferred validation and handle unvalidated requests, for example, form, querystring, and URL; prevent SQL injection attacks by parameterizing queries; prevent cross-site request forgeries (XSRF)
http://www.iis.net/learn/manage/configuring-security/how-to-set-up-ssl-on-iis
http://devproconnections.com/aspnet/aspnet-web-security-protect-user-passwords-hashing-and-salt
http://miroprocessordev.blogspot.com/2012/03/save-aspnet-mvc-application-against.html
http://software-security.sans.org/developer-how-to/fix-sql-injection-microsoft-.net-with-parameterized-queries