Esempio n. 1
0
        void InternalTransportTransportMessageReceived(object sender, TransportMessageReceivedEventArgs e)
        {
            if (UnicastBus.HandledSubscriptionMessage(e.Message, Subscribers, null))
            {
                e.Message.ReplyToAddress = ExternalAddress;
                ExternalMessageSender.Send(e.Message, RemoteServer);

                Logger.Debug("Received subscription message.");
                return;
            }

            var data = new ProxyData
            {
                Id            = GenerateId(),
                ClientAddress = e.Message.ReplyToAddress,
                CorrelationId = e.Message.IdForCorrelation
            };

            Storage.Save(data);

            Logger.Debug("Forwarding request to " + RemoteServer + ".");

            e.Message.IdForCorrelation = data.Id;
            e.Message.ReplyToAddress   = ExternalAddress;

            ExternalMessageSender.Send(e.Message, RemoteServer);
        }