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