当前位置: 首页>>代码示例>>C#>>正文


C# ChannelFactory.RegisterSender方法代码示例

本文整理汇总了C#中ChannelFactory.RegisterSender方法的典型用法代码示例。如果您正苦于以下问题:C# ChannelFactory.RegisterSender方法的具体用法?C# ChannelFactory.RegisterSender怎么用?C# ChannelFactory.RegisterSender使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ChannelFactory的用法示例。


在下文中一共展示了ChannelFactory.RegisterSender方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: SetUp

        public void SetUp()
        {
            databusForSiteA = new InMemoryDataBus();
            databusForSiteB = new InMemoryDataBus();
            fakeTransport = new FakeTransport();

            var builder = MockRepository.GenerateStub<IBuilder>();

            var channelFactory = new ChannelFactory();

            channelFactory.RegisterReceiver(typeof(HttpChannelReceiver));

            channelFactory.RegisterSender(typeof(HttpChannelSender));

            var channelManager = MockRepository.GenerateStub<IManageReceiveChannels>();
            channelManager.Stub(x => x.GetReceiveChannels()).Return(new[] {new ReceiveChannel()
                                                                              {
                                                                                  Address = HttpAddressForSiteB,
                                                                                  Type = "http",
                                                                                  NumberOfWorkerThreads = 1
                                                                              }});
            channelManager.Stub(x => x.GetDefaultChannel()).Return(defaultChannelForSiteA);

            builder.Stub(x => x.Build<IdempotentChannelForwarder>()).Return(new IdempotentChannelForwarder(channelFactory)
                                                                             {
                                                                                 DataBus = databusForSiteA
                                                                             });

            builder.Stub(x => x.Build<IReceiveMessagesFromSites>()).Return(new IdempotentChannelReceiver(channelFactory, new InMemoryPersistence())
            {
                DataBus = databusForSiteB
            });

            builder.Stub(x => x.BuildAll<IRouteMessagesToSites>()).Return(new[] { new KeyPrefixConventionSiteRouter() });

            messageSender = new FakeMessageSender();
            receiverInSiteB = new GatewayReceiver();
            receiverInSiteB.ChannelManager = channelManager;
            receiverInSiteB.EndpointRouter = new DefaultEndpointRouter
                {
                    MainInputAddress = EndpointAddressForSiteB
                };
            receiverInSiteB.MessageSender = messageSender;
            receiverInSiteB.builder = builder;
            //receiverInSiteB.InputAddress = GatewayAddressForSiteA;

            dispatcherInSiteA = new GatewaySender();
            dispatcherInSiteA.ChannelManager = channelManager;
            dispatcherInSiteA.Builder = builder;
            dispatcherInSiteA.MessageSender = MockRepository.GenerateStub<ISendMessages>();
            dispatcherInSiteA.Notifier = MockRepository.GenerateStub<IMessageNotifier>();
               // dispatcherInSiteA.InputAddress = GatewayAddressForSiteA;

            dispatcherInSiteA.Start();
            receiverInSiteB.Start();
        }
开发者ID:afyles,项目名称:NServiceBus,代码行数:56,代码来源:via_the_gateway.cs

示例2: SetUp

        public void SetUp()
        {
            databusForSiteA = new InMemoryDataBus();
            databusForSiteB = new InMemoryDataBus();

            inMemoryReceiver = new InMemoryReceiver();

            var builder = MockRepository.GenerateStub<IBuilder>();

            var channelFactory = new ChannelFactory();

            channelFactory.RegisterReceiver(typeof(HttpChannelReceiver));

            channelFactory.RegisterSender(typeof(HttpChannelSender));

            var channelManager = MockRepository.GenerateStub<IMangageReceiveChannels>();
            channelManager.Stub(x => x.GetActiveChannels()).Return(new[] {new Channel
                                                                              {
                                                                                  Address = HttpAddressForSiteB,
                                                                                  Type = "http"
                                                                              }});
            channelManager.Stub(x => x.GetDefaultChannel()).Return(defaultChannelForSiteA);

            builder.Stub(x => x.Build<IdempotentChannelForwarder>()).Return(new IdempotentChannelForwarder(channelFactory)
                                                                             {
                                                                                 DataBus = databusForSiteA
                                                                             });

            builder.Stub(x => x.Build<IReceiveMessagesFromSites>()).Return(new IdempotentChannelReceiver(channelFactory, new InMemoryPersistence())
            {
                DataBus = databusForSiteB
            });

            builder.Stub(x => x.BuildAll<IRouteMessagesToSites>()).Return(new[] { new KeyPrefixConventionSiteRouter() });

            messageSender = new FakeMessageSender();
            receiverInSiteB = new GatewayReceiver(channelManager,new DefaultEndpointRouter
                                                                     {
                                                                         MainInputAddress = EndpointAddressForSiteB
                                                                     },builder,messageSender);

            dispatcherInSiteA = new GatewaySender(builder,
                                                                   channelManager,
                                                                   MockRepository.GenerateStub<IMessageNotifier>(),
                                                                   MockRepository.GenerateStub<ISendMessages>(),
                                                                   new FakeDispatcherSettings
                                                                       {
                                                                           Receiver = inMemoryReceiver
                                                                       });

            dispatcherInSiteA.Start(GatewayAddressForSiteA);
            receiverInSiteB.Start(GatewayAddressForSiteB);
        }
开发者ID:rsummer,项目名称:NServiceBus,代码行数:53,代码来源:via_the_gateway.cs

示例3: ConfigureChannels

        static void ConfigureChannels(Configure config)
        {
            var channelFactory = new ChannelFactory();

            foreach (var type in Configure.TypesToScan.Where(t => typeof(IChannelReceiver).IsAssignableFrom(t) && !t.IsInterface))
                channelFactory.RegisterReceiver(type);

            foreach (var type in Configure.TypesToScan.Where(t => typeof(IChannelSender).IsAssignableFrom(t) && !t.IsInterface))
                channelFactory.RegisterSender(type);

            config.Configurer.RegisterSingleton<IChannelFactory>(channelFactory);
        }
开发者ID:Bishbulb,项目名称:NServiceBus,代码行数:12,代码来源:ConfigureGateway.cs


注:本文中的ChannelFactory.RegisterSender方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。