Announcements

The discovery mechanism presented thus far is passive from the perspective of the service. The client queries the discovery endpoint and the service responds. As an alternative to this passive address discovery, WCF offers an active model in which the service broadcasts its status to all clients and provides its address. The service host broadcasts a “hello” announcement when the host is opened and a “bye” announcement when the host shuts down gracefully. It the host is aborted ungracefully, no “bye” announcement is sent. These announcements are received on a special announcements endpoint hosted by the client (see Figure C-3).

The announcement architecture

Figure C-3. The announcement architecture

Announcements are an individual endpoint-level mechanism, not a host-level one. The host can choose which endpoint to announce. Each announcement contains the endpoint address, its scopes, and its contract.

Note that announcements are unrelated to address discovery. The host may not support a discovery endpoint at all, and there is no need for the discovery behavior. On the other hand, the host may both support the discovery endpoint and announce its endpoints, as shown in Figure C-3.

Announcing Endpoints

The host can manually announce its endpoints using the AnnouncementClient class, defined as:

public sealed class AnnouncementClient : ICommunicationObject { public AnnouncementClient(); public AnnouncementClient(AnnouncementEndpoint ...

Get Programming WCF Services, 3rd 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.