Chapter 6. Reliability
Distributed, service-oriented systems can be subject to intermittent network failures that can play havoc on the system’s overall integrity. Systems must provide sufficient resiliency to failure, and they must be able to recover from failure in a controlled and predictable manner. WCF provides three key features to improve overall reliability and predictability of communications between clients and services: reliable sessions, support for transactions, and queued messaging.
Reliable sessions make it possible to overcome transient network interruptions over TCP, named pipes, or HTTP. When reliable sessions are enabled, clients will attempt to resend messages to a service if it is unavailable. One of the benefits of this is that it is interoperable, and thus can be used to improve the reliability of HTTP messaging.
Transactional programming techniques allow developers to guarantee operations are completed as a single atomic transaction. Performing transactions over process, machine and system boundaries are critical to the overall consistency of an enterprise application. With WCF, you can apply transactions across service boundaries over any protocol including HTTP with interoperable support for other platforms.
Queued messaging, when combined with transactions, provides a foundation for durable, reliable, and one-way messaging that can survive lengthy network outages and machine restarts. WCF uses Microsoft Message Queue (MSMQ) to provide this type of reliability. ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access