本文整理汇总了C#中ChannelFactory.RegisterReceiver方法的典型用法代码示例。如果您正苦于以下问题:C# ChannelFactory.RegisterReceiver方法的具体用法?C# ChannelFactory.RegisterReceiver怎么用?C# ChannelFactory.RegisterReceiver使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ChannelFactory
的用法示例。
在下文中一共展示了ChannelFactory.RegisterReceiver方法的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();
}
示例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);
}
示例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);
}