Exemple #1
0
        public void Send(string endpoint, object message)
        {
            var channelMessage = ChannelMessageFactory.CreateChannelMessage(message, serializer);
            var destination    = EndpointAddress.Parse(endpoint);

            channelMessage.AddHeader(MessageHeaders.Destination, destination.ToString());
            sendingChannel.Send(destination, channelMessage);
        }
        public void OnError(Exception ex)
        {
            if (channelMessage == null)
            {
                throw new Exception("ChannelMessage is null!", ex);
            }
            channelMessage.BodyStream.Position = 0;

            var level = 0;

            while (ex != null)
            {
                var headerName = $"EzBus.ErrorMessage L{level}";
                var value      = $"{DateTime.UtcNow}: {ex.Message}";
                channelMessage.AddHeader(headerName, value);
                ex = ex.InnerException;
                level++;
            }

            var endpointAddress = new EndpointAddress(busConfig.ErrorEndpointName);

            sendingChannel.Send(endpointAddress, channelMessage);
        }