c# - 无论存在与否,AutoFac 创建类型

标签 c# .net dependency-injection autofac

我想使用 AutoFac 将引用注入(inject)对象的构造函数。但是,实际对象本身并未注册。我正在为 ASP.NET MVC Controller 工厂执行此操作, Controller 不会在其中注册,但构造函数参数会注册。我设法统一执行此操作,但我在使用 AutoFac 时遇到了问题。

这可能吗?

谢谢。

最佳答案

让 Autofac 以 Unity 的方式解析任何未注册的类型:

builder.RegisterSource(new AnyConcreteTypeNotAlreadyRegisteredSource());

描述了此解决方案的早期版本 here .

但是,我为 Steven 的答案 +1,并鼓励您使用它而不是上面的答案。使用 Autofac,您最好使用预构建的 MVC 集成。在 MVC3 上设置是小菜一碟 - 请参阅 these step-by-step instructions .

即使您建立自己的 Controller 工厂,如果您不依赖于“解决任何问题”行为,生活也会更加可预测:)

关于c# - 无论存在与否,AutoFac 创建类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5364629/

相关文章:

c# - .NET SVCUTIL 未正确生成命名空间

.net - C++ Streams 与 .NET Streams 相比?

c# - 单一方法即扩展方法之间的调用不明确

c# - 反转 .wav 文件

c# - 捕获 PC 声音

dependency-injection - 在 Jersey 过滤器中注入(inject) EJB

c# - ASP.NET MVC、Unity 和 IDisposable

angular - 如何从Angular中的另一个服务调用服务的特定实例?

c#运行时丢失引用

c# - 通过选择 UserID(PK) 在 ExecuteReader 上出现 MySqlException