Ejemplo n.º 1
0
 public IncomingConnection(
     INetMqConfig netMqConfig,
     IMessageSetting messageSetting,
     IIncomingMessageBuilder <TPayloadType, TBody> incomingMessageBuilder,
     IIncomingMessageHandler <TPayloadType, TBody> incomingMessageProcessor,
     IEncoder <TPayloadType, TBody> encoder)
 {
     this.maxFrameSize           = messageSetting.MaxFrameSize;
     this.connectionString       = netMqConfig.IncomingConnection;
     this.incomingMessageBuilder = incomingMessageBuilder;
     this.encoder = encoder;
     this.incomingMessageProcessor = incomingMessageProcessor;
 }
Ejemplo n.º 2
0
        private void SetupUnity()
        {
            try
            {
                var configurationBuilder = new ConfigurationBuilder()
                                           .SetBasePath(Directory.GetCurrentDirectory())
                                           .AddJsonFile("appSettings.json");

                this.container
                .RegisterInstance <
                    IConfigurationRoot>(configurationBuilder.Build())
                .RegisterSingleton <
                    IBodyReconstructorFactory <string>,
                    JsonBodyReconstructorFactory>()
                .RegisterSingleton <
                    IEnvelopFactory <PayloadType, string>,
                    JsonEnvelopeFactory <PayloadType> >()
                .RegisterSingleton <
                    IMessageResultFactory <string>,
                    JsonMessageResultFactory>()
                .RegisterSingleton <
                    IEncoder <PayloadType, string>,
                    StringBodyEncoder <PayloadType> >()
                .RegisterSingleton <
                    IJsonSetting,
                    JsonSettings>()
                .RegisterSingleton <
                    IOutgoingConnection <PayloadType, string>,
                    OutgoingConnection <PayloadType, string> >()
                .RegisterSingleton <
                    IConnectionIdGenerator,
                    ConnectionIdGenerator>()
                .RegisterSingleton <
                    IIncomingMessageBuilder <PayloadType, string>,
                    IncomingMessageBuilder <PayloadType, string> >()
                .RegisterSingleton <
                    IMessageRouter <PayloadType, string, MessageCtx <PayloadType, string> >,
                    MessageRouter <PayloadType, string, MessageCtx <PayloadType, string> > >()
                .RegisterSingleton <
                    IRequestIdGenerator,
                    RequestIdGenerator>()
                .RegisterSingleton <
                    IMessageStore <PayloadType, string, MessageCtx <PayloadType, string> >,
                    InMemoryMessageStore <PayloadType, string, MessageCtx <PayloadType, string> > >()
                .RegisterSingleton <
                    IIncomingMessageHandler <PayloadType, string>,
                    IncomingMessageProcessor <PayloadType, string, MessageCtx <PayloadType, string> > >()
                .RegisterSingleton <IncomingConnection <PayloadType, string, MessageCtx <PayloadType, string> > >()
                .RegisterSingleton <
                    IEncoder <PayloadType, string>,
                    StringBodyEncoder <PayloadType> >()
                .RegisterSingleton <
                    INetMqConfig,
                    NetMqConfig>()
                .RegisterSingleton <
                    IPayloadTypeEncoder <PayloadType, string>,
                    PayloadTypeEncoder>()
                .RegisterSingleton <
                    IMessageSetting,
                    MessagingSetting>()
                ;

                this.outgoingConnection = this.container.Resolve <IOutgoingConnection <PayloadType, string> >();
                this.incomingConnection = this.container
                                          .Resolve <IncomingConnection <PayloadType, string, MessageCtx <PayloadType, string> > >();
                this.incomingMessageHandler = this.container
                                              .Resolve <IIncomingMessageHandler <PayloadType, string> >();
            }
            catch (Exception ex)
            {
                log.Error(ex, ex.Message);
                throw;
            }
        }