如何解决引用库中的依赖关系 class
How to resolve dependencies in referenced library class
ASP.Net Webforms 应用程序 (.Net Framework 4.7.2) 引用了用 .Net 标准 2.0 编写的 dll。在 dll 中,我有一个接口 ISomething
,它对 IAnother
.
具有 属性 依赖性
使用 Autofac。在 Global.asax
Application_Start
我正在注册实现 ISomething
和 IAnother
.
的 classes
执行时,我 ISomtething
得到正确解决;但它的依赖性 IAnother
最终会变成 null
(我猜未解决)。
我没有向 ISometing
添加任何 Autofac 代码行;刚刚将 IAnother
添加为 public 属性;我希望两者都能由 Autofac.Web
代码自动解析。 (这是正确的吗?)
编辑:
我更改了实现 ISomething
的 class 的实现以接收 IAnother
作为构造函数中的参数(而不是 属性)...那行得通。
ISomething
是对 WebForm 页面的 属性 依赖。 IAnother
作为 属性 对 ISomething
<<<---- 实现的依赖性不起作用。
ISomething
是对 WebForm 页面的 属性 依赖。 IAnother
作为构造函数依赖于 ISomething
<<<---- 这工作正常。
我想了解为什么它以一种方式而不是另一种方式工作。
属性 Autofac 中的依赖项是可选的,因此您必须在注册时选择加入。
所以在你的情况下会是:
builder.RegisterType<Something>()
.As<ISomething>()
.PropertiesAutowired();
ASP.Net Webforms 应用程序 (.Net Framework 4.7.2) 引用了用 .Net 标准 2.0 编写的 dll。在 dll 中,我有一个接口 ISomething
,它对 IAnother
.
使用 Autofac。在 Global.asax
Application_Start
我正在注册实现 ISomething
和 IAnother
.
执行时,我 ISomtething
得到正确解决;但它的依赖性 IAnother
最终会变成 null
(我猜未解决)。
我没有向 ISometing
添加任何 Autofac 代码行;刚刚将 IAnother
添加为 public 属性;我希望两者都能由 Autofac.Web
代码自动解析。 (这是正确的吗?)
编辑:
我更改了实现 ISomething
的 class 的实现以接收 IAnother
作为构造函数中的参数(而不是 属性)...那行得通。
ISomething
是对 WebForm 页面的 属性 依赖。 IAnother
作为 属性 对 ISomething
<<<---- 实现的依赖性不起作用。
ISomething
是对 WebForm 页面的 属性 依赖。 IAnother
作为构造函数依赖于 ISomething
<<<---- 这工作正常。
我想了解为什么它以一种方式而不是另一种方式工作。
属性 Autofac 中的依赖项是可选的,因此您必须在注册时选择加入。
所以在你的情况下会是:
builder.RegisterType<Something>()
.As<ISomething>()
.PropertiesAutowired();