Exam 70-523:

Upgrade: Transition your MCPD .NET Framework 3.5 Web Developer Skills to MCPD .NET Framework 4 Web Developer

Published:October 22, 2010
Language(s):English
Audience(s):Developers
Technology:Microsoft Visual Studio 2010
Type:Proctored Exam

How To Get It: Schedule your exam through the following exam provider:

Take exam

Preparing for an Exam
This exam is scheduled to retire July 31, 2014.
The Microsoft Certification website and this preparation guide contain a variety of resources to help you prepare for an exam. Preparing for and Taking an Exam — FAQ provides answers to frequently asked questions about exam registration ,preparation ,scoring ,and policies , including:
  • The most effective way to prepare to take an exam.
  • The relationship between Microsoft training materials and exam content.
  • Microsoft policy concerning the incorporation of service pack and revision updates into exam content.
  • Exam question types and formats.
  • Exam time limits and number of questions asked.
We recommend that you review this preparation guide in its entirety and familiarize yourself with the FAQs and resources on the Microsoft Certification website before you schedule your exam.
Exam Topics Covered
This exam is intended for candidates who hold an MCPD WebApplication Developer 3.5 certification to upgrade to MCPD Web Applications Developer 4.
Audience Profile
Candidates for this exam should have experience designing and developing Web-based applications with Microsoft Visual Studio 2010 or earlier.  Candidates should also have at least 6 months to one year of experience with the following:

  • ASP.NET
  • AJAX
  • JavaScript
  • MVC2
  • Data access with ADO.NET
  • Windows Communication Foundation (WCF)
  • .NET 4
Credit Toward CertificationWhen you pass Exam 70-523: Upgrade: Transition your MCPD .NET Framework 3.5 Web Developer Skills to MCPD .NET Framework 4 Web Developer, you complete the requirements for the following certification(s):
MCTS: .NET Framework 4, Web Applications
MCTS: .NET Framework 4, Service Communication Applications
MCTS: .NET Framework 4, Data Access
MCPD: Web Developer 4
Note This preparation guide is subject to change at any time without prior notice and at the sole discretion of Microsoft. Microsoft exams might include adaptive testing technology and simulation items. Microsoft does not identify the format in which exams are presented. Please use this preparation guide to prepare for the exam, regardless of its format.
Skills Being MeasuredThis exam measures your ability to accomplish the technical tasks listed below.The percentages indicate the relative weight of each major topic area on the exam.The higher the percentage, the more questions you are likely to see on that content area on the exam.

The information after “This objective may include but is not limited to” is intended to further define or scope the objective by describing the types of skills and topics that may be tested for the objective. However, it is not an exhaustive list of skills and topics that could be included on the exam for a given skill area. You may be tested on other skills and topics related to the objective that are not explicitly listed here.
Developing Web Forms Pages
  • Configure Web Forms pages.
    This objective may include but is not limited to: page directives such as ViewState, request validation, event validation, MasterPageFile; ClientIDMode; using web.config; setting the html doctype
  • Handle page life cycle events.
    This objective may include but is not limited to: IsPostback, IsValid, dynamically creating controls, control availability within the page life cycle, accessing control values on postback, overriding page events
Developing and Using Web Forms Controls
  • Validate user input.

    This objective may include but is not limited to: client side, server side, and via AJAX; custom validation controls; regex validation; validation groups; datatype check; jQuery validation

    This objective does not include: RangeValidator and RequiredValidator
  • Create page layout.

    This objective may include but is not limited to: AssociatedControlID; Web parts; navigation controls; FileUpload controls

    This objective does not include:  label; placeholder, panel controls; CSS, HTML, referencing CSS files, inlining
  • Manipulate user interface controls from code-behind.

    This objective may include but is not limited to: HTML encoding to avoid cross-site scripting, navigating through and manipulating the control hierarchy; FindControl; controlRenderingCompatibilityVersion; URL encoding; RenderOuterTable

    This objective does not include: Visibility, Text, Enabled properties
Implementing Client-Side Scripting and AJAX
  • Add dynamic features to a page by using JavaScript.

    This objective may include but is not limited to: referencing client ID; Script Manager; Script combining; Page.clientscript.registerclientscriptblock; Page.clientscript.registerclientscriptinclude; sys.require (scriptloader)

    This objective does not include: interacting with the server; referencing JavaScript files; inlining JavaScript
  • Implement ASP.NET AJAX.

    This objective may include but is not limited to: client-side templating, creating a script service, extenders (ASP.NET AJAX Control Toolkit), interacting with the server, Microsoft AJAX Client Library, custom extenders; multiple update panels; triggers; UpdatePanel.UpdateMode; Timer

    This objective does not include: basic update panel and progress
Configuring and Extending a Web Application
  • Configure authentication and authorization.

    This objective may include but is not limited to: using membership, using login controls, roles, location element, protecting an area of a site or a page

    This objective does not include:  Windows Live; Microsoft Passport; Windows and Forms authentication
  • Debug a Web application.
    This objective may include but is not limited to: remote, local, JavaScript debugging, attaching to process, logging and tracing, using local IIS, aspnet_regiis.exe
Displaying and Manipulating Data
  • Implement data-bound controls.

    This objective may include but is not limited to: advanced customization of DataList, Repeater, ListView, FormsView, DetailsView, TreeView, DataPager, Chart, GridView

    This objective does not include: working in Design mode
  • Query and manipulate data by using LINQ.

    This objective may include but is not limited to: transforming data by using LINQ to create XML or JSON, LINQ to SQL, LINQ to Entities, LINQ to objects, managing DataContext lifetime

    This objective does not include: basic LINQ to SQL
  • Query and manipulate data by using LINQ.

    This objective may include but is not limited to: transforming data by using LINQ to create XML or JSON, LINQ to SQL, LINQ to Entities, LINQ to objects, managing DataContext lifetime

    This objective does not include: basic LINQ to SQL
Developing a Web Application by Using ASP.NET MVC 2
  • Create controllers and actions.
    This objective may include but is not limited to: Visual Studio support for right-click context menus; action filters (including Authorize, AcceptVerbs, and custom) and model binders; ActionResult sub-classes
  • Create and customize views.

    This objective may include but is not limited to: built-in and custom HTML helpers (for example, HTML.RenderAction and HTML.RenderPartial), strongly typed views, static page checking, templated input helpers, ViewMasterPage, ViewUserControl

    This objective does not include: Microsoft.Web.Mvc Futures assembly
Creating Services
  • Create service and operation contracts.

    This objective may include but is not limited to: one-way, duplex, and request reply; creating and specifying  fault contracts; configuration-based contracts; exposing service metadata; selecting serialization (e.g., data contract serializer vs. XML serializer)

    This objective does not include: designing service and operation contracts; transactions, instantiation, security-related attributes
  • Create data contracts.

    This objective may include but is not limited to: managing Known Types; controlling data serialization; using required and order attributes on data members; implementing versioning using IExtensibleDataObject; POCOs

    This objective does not include: using custom serializer (ISerializationSurrogate)
  • Implement RESTful services.
    This objective may include but is not limited to: accessing HTTP context; WebGet/WebInvoke, UriTemplates; JSON/POX
Hosting and Configuring Services
  • Create and configure endpoints

    This objective may include but is not limited to: default and standard bindings; custom bindings created from standard binding elements; standard endpoints; transports including HTTP, TCP, named pipes, UDP, MSMQ code-based service configuration; message encoding

    This objective does not include: creating a custom binding element; creating new standard endpoints, loading configuration from a location other than the default application configuration file, security, transaction, reliable sessions
  • Configure Behaviors.

    This objective may include but is not limited to: applying service, endpoint, and operation behaviors in configuration and code

    This objective does not include: creating a custom behavior; creating and using dispatch behaviors, loading configuration from a location other than the default application configuration file
Consuming Services
  • Create a service proxy.

    This objective may include but is not limited to: using a proxy class or channel factory to create a proxy; creating a proxy for an asynchronous communication; creating a proxy for a duplex communication

    This objective does not include: SvcUtil command-line switches
  • Consume RESTful services.
    This objective may include but is not limited to: access HTTP context; JSON/POX
Securing Services
  • Configure secure Bindings.
    This objective may include but is not limited to: transport, message, mixed mode
  • Configure message security.
    This objective may include but is not limited to: specifying protection levels on different message parts
Managing the Service Instance Life Cycle
  • Manage sessions.
    This objective may include but is not limited to: code and configuration; session management attributes; throttling; reliable sessions; transport-level and application-level sessions; invoking a callback contract
  • Manage concurrency.
    This objective may include but is not limited to: single, multiple, and reentrant concurrency modes; SynchronizationContext and CallbackBehavior
    This objective does not include: deadlocks and other multithreading issues
Monitoring and Troubleshooting Distributed Systems
  • Configure message logging.
    This objective may include but is not limited to: configuring message listeners; logging level; message filters; configuring logging known PII
    This objective does not include: secure message logs
  • Configure diagnostics.
    This objective may include but is not limited to: WMI; performance counters; event logging
Modeling Data
  • Map entities and relationships by using the Entity Data Model.

    This objective may include but is not limited to: using the Visual Designer, building an entity data model from an existing database, managing complex entity mappings in EDMX, editing EDM XML, mapping to stored procedures, creating user-defined associations between entities, generating classes with inheritance and mapping them to tables

    This objective does not include: using MetadataWorkspace
  • Create and customize entity objects.
    This objective may include but is not limited to: configuring changes to an Entity Framework entity, using the ADO.NET EntityObject Generator (T4), extending, self-tracking entities, snapshot change tracking, ObjectStateManager, partial classes, partial methods in the Entity Framework
Managing Connections and Context
  • Create and manage a data connection.
    This objective may include but is not limited to: connecting to a data source, closing connections, maintaining the life cycle of a connection
  • Configure ADO.NET Data Services.
    This objective may include but is not limited to: creating access rules for entities, configuring authorization and authentication, configuring HTTP verbs
Querying Data
  • Execute a SQL query.
    This objective may include but is not limited to: DBCommand, DataReader, DataAdapters, DataSets, managing data retrieval by using stored procedures, using parameters, System.Data.Common namespace classes
  • Create a LINQ query.

    This objective may include but is not limited to: syntax-based and method-based queries, joining, filtering, sorting, grouping, aggregation, lambda expressions, paging, projection

    This objective does not include: compiling queries
  • Query data by using ADO.NET Data Services.
    This objective may include but is not limited to: implementing filtering and entitlement in ADO.NET Data Services, addressing resources, creating a query expression, accessing payload formats, Data Services interceptors
Manipulating Data
  • Create, update, or delete data by using SQL statements.
    This objective may include but is not limited to: Create/Update/Delete (CUD), using DataSets, calling stored procedures, using parameters
  • Create, update, or delete data by using DataContext.

    This objective may include but is not limited to: CUD, calling stored procedures, using parameters

    This objective does not include: ObjectTrackingEnabled
  • Create, update, or delete data by using ObjectContext.
    This objective may include but is not limited to: CUD, calling stored procedures, using parameters, setting SaveOptions
Developing and Deploying Reliable Applications
  • Monitor and collect performance data.
    This objective may include but is not limited to: logging generated SQL (ToTraceString), collecting response times, implementing performance counters, implementing logging, implementing instrumentation
  • Handle exceptions.
    This objective may include but is not limited to: resolving data concurrency issues (handling OptimisticConcurrency exception, Refresh method), handling errors, transaction exceptions, connection exceptions, timeout exceptions, handling an exception from the Entity Framework disconnected object, security exceptions
  • Protect data.
    This objective may include but is not limited to: encryption, digital signature, hashing, salting, least privilege
  • Synchronize data.
    This objective may include but is not limited to: online/offline Entity Framework, synchronization services, saving locally
Designing the Application Architecture
  • Plan the division of application logic.
    This objective may include but is not limited to: choosing between client-side and server side processing, planning separation of concern, (for example, partitioning functionality between controllers and evaluating business and data service consumption), planning for long-running processes (for example, synchronous vs. asynchronous)
  • Analyze requirements and recommend a system topology.
    This objective may include but is not limited to: designing interaction between applications, mapping logical design to physical implementation, validating nonfunctional requirements and cross-cutting concerns (for example, communications, operations management, and security), evaluating baseline needs (for example, scale and quality of service)
  • Choose appropriate client-side technologies.
    This objective may include but is not limited to: JavaScript, ASP.NET AJAX, jQuery, Microsoft Silverlight
  • Choose appropriate server-side technologies.
    This objective may include but is not limited to: user controls, server controls, partials, custom HtmlHelper extensions, Web parts, inheriting controls, dynamic data controls
  • Design state management.
    This objective may include but is not limited to: designing an application for the proper use of application state, session state, and request state (for example, ViewState, ControlState, Cache object, cookies, and client-side persistence)
Designing the User Experience
  • Design the site structure.
    This objective may include but is not limited to: designing application segmentation for manageability and security (for example, using areas, shared views, master pages, and nested master pages), appropriate use of style sheets, client-side scripting, themes, client ID generation, rendering element modes, routing engine
  • Plan for cross-browser and/or form factors.
    This objective may include but is not limited to: evaluating the impact on client side behaviors, themes, bandwidth, style sheets (including application design - task based or scaled rendering of existing page), when to apply Browsers file, structural approaches, user agents, different platforms (mobile vs. desktop)
  • Plan for globalization.
    This objective may include but is not limited to: designing to support local, regional, language, or cultural preferences, including UI vs. data localization (for example, implementing at database level or resource level), when to use CurrentCulture vs. CurrentUICulture, globalization rollout plan (for example, setting base default language, planning localization), handling Unicode data (for example, what fields to include, request encoding), right-to-left support, vertical text and non-Latin topographies, calendars, data formatting, sorting
Designing Data Strategies and Structures
  • Design data access.
    This objective may include but is not limited to: choosing data access technologies such as ADO.NETData Services, Entity Framework, Windows Communications Foundation (WCF), and ASP.NET Web Services
  • Plan for data validation.
    This objective may include but is not limited to: contextual validation vs. data integrity, where to validate data, synchronization between UI and data layer, data annotations
Designing Security Architecture and Implementation
  • Plan for operational security.
    This objective may include but is not limited to: approaches for process- and resource-level security, including local and remote resources, Code Access Security (CAS), including trust level, process identity, application pool, and identity tag
  • Plan for minimizing attack surfaces.
    This objective may include but is not limited to: input validation, throttling inputs, request filtering, where to use Secure Sockets Layer (SSL)
Preparing For and Investigating Application Issues
  • Design an exception handling strategy.
    This objective may include but is not limited to: HandleError attribute in MVC, common error pages, post-error processing, global vs. page level
  • Recommend an approach to performance issues.
    This objective may include but is not limited to: which instrumentation to watch or create (including performance counters and event tracing) to analyze performance issues, page and fragment caching
Designing a Deployment Strategy
  • Design a deployment process.
    This objective may include but is not limited to: Windows Installer (MSI) vs. xcopy vs. Web Deployment Tool, scaling, rolling deployments
  • Plan for scalability and reliability.
    This objective may include but is not limited to: scaling up, scaling out, at physical level and at architectural level, impact of offloading technologies on load balancing, including state, synchronizing machine and encryption keys
Preparation Tools and ResourcesTo help you prepare for this exam, Microsoft Learning recommends that you have hands-on experience with the product and that you use the following training resources. These training resources do not necessarily cover all of the topics listed in the "Skills Measured" tab.
Learning Plans and Classroom Training There is no classroom training currently available.
Microsoft E-Learning There is no Microsoft E-Learning training currently available.
Microsoft Press Books There are no Microsoft Press books currently available.
Practice Tests There are no practice tests currently available.
Have Questions? For advice about training and certification, connect with peers: For questions about a specific certification, chat with a Microsoft Certified Professional (MCP): To find out about recommended blogs, Web sites, and upcoming Live Meetings on popular topics, visit our community site: