Summary

In this chapter, I explained how you can support reliable sessions, transactions, and queued messaging to your WCF clients and services to improve the overall reliability of your enterprise systems. As with most complex system features, there are many knobs and buttons that control the functionality of each—and the defaults aren’t always desirable. I gave you some recommendations on how to decide when to use each feature and some guidance on their usage.

As far as reliable sessions go, you are most likely to apply them today in a situation where you own both sides (client and service). That generally means it is more useful for intranet than Internet. Although WS-ReliableMessaging is an interoperable standard, it is not yet ratified and not all web service platforms support the feature.

To support a wider audience with your Internet services, you may expose an endpoint that does not support reliable sessions, and another that does for callers that can benefit from it. For intranet services that you control, there are still some things to consider before you apply reliable sessions. The key deterrent is the dependency on sticky sessions (discussed in Chapter 5 as well). You must make sure that messages are sent to the same machine where their reliable session lives, since this session cannot (today) be stored in a shared durable resource manager. If you want the reliability, however, you should definitely consider this trade-off a positive one and use the feature for TCP ...

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.