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