Overview


Language(s): English
Audiences(s): Developers
Technology: Microsoft Visual Studio 2010
Type: Proctored Exam

Exam Topics Covered

This exam is designed to test the candidate's knowledge and skills for developing applicatins using Windows Communication Foundation and the .NET Framework 4.

Questions that contain code will be presented in either VB or C#. Candidates can select one of these languages when they start the exam.

Audience Profile

The candidate works on a team in a development environment that uses Microsoft Visual Studio 2010 and .NET Framework 4 to build distributed applications. This candidate should have at least one year of experience developing Windows Communication Foundation (WCF)-based applications, including at least six months of experience with .NET Framework 4. The candidate should also be able to demonstrate the following:

  • A solid understanding of WCF in the context of the .NET Framework 4 solution stack
  • Experience creating service model elements
  • Experience using WCF to support open and .NET communication
  • Experience configuring and deploying WCF applications
  • Experience using Visual Studio tools, tracing tools, SvcUtil, WCF performance monitoring, and IIS/WAS for hosting services
  • Experience securing WCF applications
  • A solid understanding of concurrency

Credit Toward Certification

When you pass Exam 70-513: TS: Windows Communication Foundation Development with Microsoft .NET Framework 4, you complete the requirements for the following certification(s):

  • MCTS: .NET Framework 4, Service Communication Applications

Exam 70-513: TS: Windows Communication Foundation Development with Microsoft .NET Framework 4 counts as credit toward the following certification(s):

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.

Preparation Materials


Creating Services (20%)
  • 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 emetadata; 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)
  • Create message contracts.

    This objective may include but is not limited to: body and header elements; using required and order attributes on members
  • Implement generic message handling.

    This objective may include but is not limited to: creating a catch-all contract; reading and writing messages; working with properties; working with headers
    This objective does not include: inheriting from Message class; using BodyWriter; creating Fault messages
  • Implement RESTful services.

    This objective may include but is not limited to: accessing HTTP context; WebGet/WebInvoke, UriTemplates; JSON/POX
  • Create and configure a Routing service.

    This objective may include but is not limited to: filters, static and dynamic, context-based routing, content-based routing; router interfaces
  • Create and configure a Discovery service.

    This objective may include but is not limited to: configuring ad hoc and managed modes; Discovery scopes; service announcements
Hosting and Configuring Services (18 %)
  • 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; transport 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 loaction other than the default application configuration file
  • Implement self hosting.

    This objective may include but is not limited to: configuring and instantiating a service host
    This objective does not include: implementing a custom service host
  • Implement Web server hosting.

    This objective may include but is not limited to: configuring IIS/WAS for WCF; deploying to IIS/WAS; file-less configuration; specifying a ServiceHost
    This objective does not include: Windows Application Server
Consuming Services (18%)
  • 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 fo a duplex communication
    This objective does not include: SvcUtil command-line switches
  • Configure client endpoints.

    This objective may include but is not limited to: standard bindings, custom bindings created from standard binding elements, configuring behaviors; code-based and configuration-based bindings; configuring addresses
    This objective does not include: security; creating custom behaviors
  • Invoke a service.

    This objective may include but is not limited to: invoking a service operation synchronously and asynchronously; handling service faults; using the Message class; managing the life cycle of the proxy (open channels, close channels, abort channels, handle faulted channels); implementing duplex communication
  • Consume RESTful services.

    This objective may include but is not limited to: access HTTP context; JSON/POX
  • Implement service Discovery.

    This objective may include but is not limited to: configuring target scope; monitoring service announcements
Securing Services (17%)
  • 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
  • Implement Authentication.

    This objective may include but is not limited to: Microsoft ASP.NET Membership Provider, Custom Provider, Windows Integrated Security, certificates (X.509), Federated Authentication endpoint identity; configuring client credentials; Custom Validator
    This objective does not include: Geneva Framework
  • Implement Authorization.

    This objective may include but is not limited to: roles based, claim based; configuring role providers for endpoints; principal permission attribute
    This objective does not include: rights-management authorization such as Active Directory Rights Management Services (AD RMS)
  • Implement Impersonation.

    This objective may include but is not limited to: configuration and code; configuring WCF-specific Internet Information Services (IIS) impersonation properties; configuring impersonation options; operation-based and service-based
  • Implement security auditing.

    This objective may include but is not limited to: using serviceSecurityAudit behavior, service auditing, audit log
Managing the Service Instance Life Cycle (13%)
  • Manage service instances.

    This objective may include but is not limited to: per call; per session; single; code and configuration; activation and deactivation; durable services; throttling
  • 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
  • Implement transactions.

    This objective may include but is not limited to: distributed transactions; transactional queues; transaction flow; configuring transaction binding attributes; WS-AtomicTransaction(WS-AT); transactional behavior attributes at the service and operation level; using transactions in code
  • 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
  • Manage consistency between instances, sesseions, transactions, and concurrency.

    This objective may include but is not limited to: possible combinations between instances, sessions, transactions, and concurrency (for example, instance mode single with concurrency mode multiple)
Monitoring and Troubleshooting Distributed Systems (14%)
  • 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
  • Debug client-service interactions.

    This objective may include but is not limited to: sending server exception details to client; end-to-end tracing; interpreting output from the trace viewer (single message and end to end)
    This objective does not include: tracing viewer features outside of viewing traces

Preparation Materials


Learning Plans and Classroom Training Practice Tests

Community


Related Forum Posts

If one of the posts in the following threads helps you answering your question, please vote them as helpful so other community members will find helpful information faster.