![](/img/trans.png)
[英]Can anyone recommend an IoC container for ASP.NET 2.0 Webforms?
[英]Can I use an IoC container to create ASP.NET webforms pages and controls?
使用ASP.NET MVC,可以很容易地集成IoC容器来创建控制器。
webforms是否也可以创建页面和控件并将它们传递给任何依赖项? 如果是的话,我该把它插在哪里?
是的,你可以,这里是Spring.NET如何做到这一点的一个例子。
Castle Windsor是ASP.NET的第一个主要IoC容器。 请参阅此问题,讨论如何将其与Web表单一起使用。
不直接,因为Web窗体不允许任何代码控制页面和控件实例化。 所以像页面工厂这样的东西是不可行的,你不能做构造函数注入。
但正如其他人所提到的那样,周围/黑客可以为你买入注射器。
另一个好方法是使用Model-View-Presenter模式,并将您的依赖项注入到演示者的构造函数中。
我知道这个问题很老,但在.NET Framework 4.7.2+中,您可以在ASP.NET WebForm页面和用户控件中进行构造函数注入。
来自这篇官方博文 :
可以使用依赖注入的区域
现在,您可以在WebForms应用程序中使用依赖注入的许多方面。 这是一个完整的清单。
- 页面和控件WebForms页面用户控件自定义控件
IHttpHandler
和IHttpHandlerFactory
IHttpModule
提供商- BuildProvider
ResourceProviderFactory
- 健康监测提供者
System.Web.Configuration.ProvidersHelper.InstantiateProvider
创建的任何基于ProviderBase
的提供程序。 例如自定义会话状态提供者
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.