这两种注册方式在Autofac中有什么区别呢?
builder.Register(c => Instance).As<ISomeInterface>();
并且
builder.RegisterInstance(Instance).As<ISomeInterface>().SingleInstance().ExternallyOwned();
Instance是autofac模块中的一个(非静态)属性,在对象初始化器中设置,用于注册。
我提出问题的原因是因为在我正在调试的一段代码中,已经这样做了,但我得到了一些奇怪的行为,就好像有两个ISomeInterface实例浮动在周围。功能需要是让Instance在容器的生命周期内存活(=应用程序的生命周期)。
请不要告诉我不应该这样做-已经完成了,我正在尝试理解可能会出现什么问题/表现奇怪的结果。