Foreword Preface 1. REST Basics Architecture of the World Wide Web SOAP REST Resources and URIs Uniform Interface Resource Representations Implementing a Simple RESTful Service Example Resources URIs and Uniform Interface Representations Interaction Wrap-Up Processes Summary 2. WCF RESTfut Pr0gmmming Model Isn't WCF All About SOAP? Channels and Dispatching HTTP Programming with WCF 3.0 Web Programming in WCF 3.5 WebHttpBinding WebHttpBehavior WebServiceHost WebOperationContext WebGetAttribute UriTemplate UriTemplate Literal Values UriTemplate Special Values UriTemplate QueryString Summary 3.Programming Read-0nly Services Using WebGetAttribute and UriTemplate Data Formats Message DataContract XmlSerializer Hybrid Approach Summary 4.Programming Read/Write Services POST, PUT, and DELETE Using WeblnvokeAttribute Resources URIs and Uniform Interface Representations Implementation Summary 5.Hosting WCF RESTful Services WCF REST Hosting Isn't a Special Case Self-Hosting Configuring, Opening, and Closing a ServiceHost Base Addresses ServiceHost Versus WebServiceHost Custom ServiceHost Hosting in IIS ASP.NET Compatibility Multiple Hostnames Removing the .svc File Extension Custom ServiceHostFactory Hosting Wrap-Up Summarv 6.Programming Feeds Building a Feed with WCF Syndicationltem Formatters Exposing a Feed on a Live URI Feed Validation rable of Contents Adding Links to a Feed Summary 7. Programming Ajax and Silverlight Clients WCF Web Services and Ajax JSON JSON-Enabling a Service Endpoint ASP.NET Ajax Silverlight 1.0 Silverlight 2.0 Parsing XML in Silverlight 2.0 Parsing JSON in Silverlight 2.0 Consuming Feeds in Silverlight 2.0 Cross-Domain Security in Silverlight 2.0 Returning JSON and XML Conditionally with a Single Method Summary 8. Securing REST Endpoints Authenticating: Self-Hosted Endpoints Setting Endpoint Security: WebHttpBinding.Security's Mode Property Setting Authentication Requirements: WebHttpBinding's Transport Property Authenticating: Managed Hosting Endpoints Authorizing Endpoints Authorization with Impersonation Role-Based Authorization Summary 9. Using Workflow to Deliver REST Services Consuming REST Services from WF The SendActivity Instance The ReceiveActivity Instance Stateless Workflow Services Stateful Workflow Services Summary 10. Consuming RESTful XML Services Using WCF Defining the Client. Generating the Contract Creating the Resource Representations Creating the ServiceContract Using the Service Client Extensibility 11. Working with HTTP Programming HTTP with WCF IncomingWebqequestContext OutgoingWebResponseContext OutgoingWebRequestContext IncomingWebResponseContext Context Wrap-Up Status Codes 201--Created 404--Not Found Conditional GET LastModified ETags Caching Output Caching HttpContext.Cache Content-Type Summary A. WCF 3.5 SP1 B. ADO.NET Data Services C. ADO.NET Entity Framework Walkthrough Index