使用ASP.NET MVC,可以很容易地集成IoC容器来创建控制器。
使用webforms创建页面和控件并将它们传递给任何依赖项也是可能的吗?如果是,我在哪里插上它?
答案 0 :(得分:2)
是的,你可以,这里是Spring.NET does it的一个例子。
答案 1 :(得分:2)
Castle Windsor是ASP.NET的第一个主要IoC容器。请参阅this问题,讨论如何将其与Web表单一起使用。
答案 2 :(得分:1)
不直接,因为Web窗体不允许任何代码控制Page和Control实例化。所以像页面工厂这样的东西是不可行的,你不能做构造函数注入。
但是有些工作/黑客可以像其他人提到的那样购买你的注射器。
答案 3 :(得分:1)
另一个好方法是使用Model-View-Presenter模式,并将依赖项注入到演示者的构造函数中。
答案 4 :(得分:0)
我知道这个问题很老,但是在.NET Framework 4.7.2+中,您可以在ASP.NET WebForm页面和用户控件中进行构造函数注入。
可以使用依赖注入的区域
您现在可以在WebForms应用程序中的很多地方使用依赖注入。这是完整列表。
- 页面和控件WebForms页面用户控件自定义控件
IHttpHandler
和IHttpHandlerFactory
IHttpModule
提供者- BuildProvider
ResourceProviderFactory
- 健康监测提供商
- 由
ProviderBase
创建的任何基于System.Web.Configuration.ProvidersHelper.InstantiateProvider
的提供程序。例如自定义会话状态提供程序