Microsoft Windows Communication Foundation 4.0 Cookbook for Developing SOA Applications
Make DataContract forward-compatible
Generate DataContract from an XML Schema
Using XMLSerializer to control message serialization
Using MessageContract to control theSOAP message
Adding a custom SoapHeader via Contract
Return custom exception data through FaultContract
Endpoint, Binding, and Behavior
Setting up two-way communication over MSMQ
Building a Publish-Subscribe service with dual binding
Creating a multiple-endpoint service
Implementing a POX HTTP service
Defining a CustomBinding without a timestamp header
Suppressing mustUnderstand validation on unknown SoapHeaders
Sharing a physical address between multiple endpoints
Hosting a service in a console application
Hosting a service in Windows Service
Hosting a HTTP service with ASP.NET-compatible context
Hosting a non-HTTP service in IIS 7
Customizing IIS ServiceHost via ServiceHostFactory
Specifying a dedicated service instance for a singleton service
Service Discovery and Proxy Generation
Creating a typed service client
Choosing a specific type for representing a collection parameter
Reusing types between service and client
Customizing an auto-generated service proxy class in Visual Studio
Building an ad-hoc auto-discoverable service
Using managed ServiceDiscovery
Generating a service proxy in code
Customizing auto-generated service metadata
Using ChannelFactory to consume a WCF service
Invoking async operation via ChannelFactory
Creating a service via ChannelListener
Getting the IP address of a client consumer of a WCF service
Adding a dynamic SoapHeader into a message
Binding a WPF element with data from a WCF service
Returning ReadOnlyCollection data
Using raw XML as an operation parameter
Returning a DataTable/DataSet in a service operation
Transferring binary data with MTOM encoding
Specifying ServiceKnownType information in a programmatic way
Using XmlSerializer for custom data serialization
Setting up ad hoc Windows authentication over plain HTTP
Getting an authenticated client identity in a service operation
Using username authentication with an ASP.NET membership provider
Sending a clear text username token over unsecured HTTP transport
Using transport and message security at the same time
Authorizing through declarative role-based access control
Impersonating with a client caller identity
Adding multiple tokens in a service request (supportingToken)
Supplying dedicated credentials for firewall or proxy authentication
Hosting a singleton instance service
Invoking a WCF service without blocking the front UI
Using throttling to control service concurrency
Ensuring termination of a client session
Tuning WCF concurrency performance via Visual Studio testing tools
Intercepting operation parameters in a strong-type manner
Filtering operation requests based on message
Generic operation error handling with OperationInvoker
Altering operation messages via MessageInspector
Building a custom MessageEncoder
Centralizing authorization through a custom ServiceAuthorizationManager
RESTful and AJAX-enabled WCF Services
Building a self-hosted REST service
Using an auto-generated Help page
Mapping URL suffix to operation parameters
Applying OutputCache in a REST service
Implementing file download via REST endpoint
Consuming a WCF service from an ASP.NET AJAX client
Accessing a remote REST service in an AJAX client
Building a WS-I Basic Profile 1.1 compatible service
Consuming an ASMX Web Service from a WCF client
Accessing a WCF service via the WebRequest component
Consuming a WCF service with a raw MSMQ program
Using a WCF Service in Microsoft Office
Using the WCF Test Client tool to test a service
Capturing WCF request/response messages via Fiddler tool
Using built-in tracing and message logging
Debugging in a Windows service host
Creating a custom Visual Studio Debugger Visualizer for WCF debugging
Using PerformanceCounters for WCF service monitoring
Miscellaneous WCF Development Tips
Creating test X.509 certificates for WCF Service