One-Way and Duplex Communication

A message exchange pattern describes the way messages are sent between applications. There are three classic message exchange patterns: request-reply, one-way, and duplex (callbacks). Figure 3-7 illustrates these patterns. So far in this book, I have focused on examples that use the classic request-reply pattern, that is, service operations that receive parameters and return values synchronously while clients wait for the response. There are cases where clients want to send messages and do not need a response—that is, the operation performs a function that can succeed or fail and the client either does not care, or does not care right away. In other cases, communication may be initiated at the other end of a communication channel—for example, a service sending unsolicited messages to a client application. This type of communication implies two-way communication between client and service, and it requires the support of a binding that can support duplex communications.

Message exchange patterns

Figure 3-7. Message exchange patterns

One-way operations are useful because once the message reaches the receiving end, the client connection is released so that the client can continue doing other work. Furthermore, they won’t be affected if a problem occurs at the other end, since no exceptions are reported. One-way messages are also known as asynchronous messages.

Duplex or ...

Get Learning WCF 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.