Chapter 9. Queued Services

WCF enables disconnected work: the client posts messages to a queue, and the service processes them. Such interaction enables different possibilities from those presented so far, and in turn, a different programming model. This chapter starts by showing you how to set up and configure simple queued services, and then focuses on aspects such as transactions, instance management, and failures, and their impact on both the business model of the service and its implementation. The chapter ends with my solution for a response service and a discussion of using the HTTP bridge for queued calls over the Internet.

Disconnected Services and Clients

The previous chapters were all predicated on a connected interaction between the client and the service, where both sides must be up and running to be able to interact with each other. However, there are quite a few cases (as well as the overall business model justification) for wanting to have disconnected interaction in a service-oriented application:

Availability
The client may need to work against the service even when the client is disconnected—for example, when using a mobile device. The solution is to queue up requests against a local queue and send them to the service when the client is connected. Similarly, if the service is offline (perhaps because of network problems or machine crashes), you want clients to be able to continue working against the service. When the service is connected again, it can retrieve ...

Get Programming WCF Services, 4th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.