这两个注册之间的autofac有什么区别:
builder.Register(c => Instance).As<ISomeInterface>();
和
builder.RegisterInstance(Instance).As<ISomeInterface>().SingleInstance().ExternallyOwned();
其中 Instance 是发生注册的 autofac 模块的(非静态)属性,由对象初始化程序设置。
我问的原因是前者已经在我正在调试的一段代码中完成,并且我得到了一些奇怪的行为,好像有两个 ISomeInterface 实例漂浮在周围。功能需求是实例在容器的生命周期内(=应用程序的生命周期)而存在。
请不要告诉我我不应该做第一个 - 它已经完成了,我试图了解可能出现的问题/结果奇怪的行为。