我有一个使用已知 URI 托管的托管发现服务。我有一个可发现的服务,当它启动时,它会使用添加到服务的 ServiceDiscoveryBehavior 中的AnnouncementEndpoint 来宣布自身。
我想解决的具体用例如下:
可发现服务如何将自身刷新(重新通告)到托管发现服务?
我知道托管发现服务可以保留端点并在启动时恢复它们,但我希望一切都是动态的并且可以自我修复,这样就不会有过时的端点信息。
另一个用例是:
我们如何强制或调用对新的托管发现服务的相同公告服务合同调用?
我希望这些信息足以说明我想要实现的目标。
我自己找到了答案。在需要控制 ServiceDiscoveryBehavior 之外的公告的情况下,您可以使用 AnnouncementClient 类。
AnnouncementClient client = new AnnouncementClient(announcementEndpoint);
var endpointDiscoveryMetadata = EndpointDiscoveryMetadata.FromServiceEndpoint(netTcpEndpoint);
client.AnnounceOnline(endpointDiscoveryMetadata);