工厂方法的Autofac单件

时间:2015-10-07 14:57:20

标签: c# autofac easynetq

我正在寻找与Castle Windsor实施here的Autofac端口。 exec sp_executesql N' DECLARE @Location geography = geography::STGeomFromWKB(@wkb, 4326); SELECT @Location.STIsValid() ',N'@wkb varbinary(max)',@wkb=0x0106... 是EasyNetQ库提供的接口,我想注册一个将IBus实例实例化为单例的工厂。 IBus是工厂方法。 Castle Windsor的例子:

BusBuilder.CreateMessageBus

1 个答案:

答案 0 :(得分:6)

试试这个

container.Register(c => BusBuilder.CreateMessageBus())
         .As<IBus>()
         .SingleInstance(); 

container.RegisterInstance(BusBuilder.CreateMessageBus())
         .As<IBus>();

第二个解决方案将在Autofac配置期间创建IBus实例,而第二个解决方案将在第一次通过 Autofac

解析IBus时创建它