示例#1
0
        public async Task NotifyDown <T>(IMessageEndpoint <T> endpoint)
            where T : class
        {
            var receiveEndpoint = await _receiveEndpoint.Task.ConfigureAwait(false);

            var initializeContext = await MessageInitializerCache <Down <T> > .Initialize(new
            {
                __CorrelationId = NewId.NextGuid(),
                endpoint.ServiceAddress,
                Endpoint = endpoint.EndpointInfo
            }).ConfigureAwait(false);

            await receiveEndpoint.CreatePublishEndpoint(_instanceAddress.Value).Publish(initializeContext.Message).ConfigureAwait(false);

            await endpoint.NotifyClients(receiveEndpoint, initializeContext.Message).ConfigureAwait(false);
        }