Sharing my personal study reference for the WCF cert. I added links to the MSDN docs where I could find a suitable place, please feel free to send me improvement suggestions (should it be put in a wiki page instead maybe?..). Enjoy!
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 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
-
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)
-
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
-
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; 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
-
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
-
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
-
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%)
-
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
-
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
-
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
-
This objective may include but is not limited to: access HTTP context; JSON/POX
-
This objective may include but is not limited to: configuring target scope; monitoring service announcements
-
This objective may include but is not limited to: transport, message, mixed mode
-
This objective may include but is not limited to: specifying protection levels on different message parts
-
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
-
This objective may include but is not limited to: role 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)
-
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
-
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
-
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
-
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, sessions, 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%)
-
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
