gdp*_*gdp 8 c# asp.net dependency-injection webforms
我一直在研究学习依赖注入(我认为我现在已经掌握了基础知识),并且我希望将它实现到webform应用程序中.
我的问题是,我应该为webforms项目使用什么依赖注入框架,还是一个最适合你的问题?
我目前看过Spring.Net,Ninject,Unity和StructureMap,我倾向于在配置中没有偏好,无论是XML还是流畅的界面.然而,XML配置变得不那么有利了吗?
我遇到的大部分信息都与MVC环境中的依赖注入有关.并且还了解到一些框架(例如Structure Map)仅适用于使用2.0版或更早版本的webforms. 所以我需要考虑的事情是webforms是否会持续支持,以及为模式相对较新的人配置的简易性.
先感谢您.
Ste*_*ven 11
你选择哪个框架并不重要,唯一的技巧是允许类等System.Web.UI.Page类注入其依赖项.当您查看ASP.NET MVC时,您会看到他们专门设计它以使用依赖注入框架.ASP.NET WebForms显然不是为此而设计的.有些框架确实支持WebForms开箱即用,但对于其他所有框架来说,实现这一点并不困难.
在WebForms应用程序中,为您创建页面的"东西"就是PageHandlerFactory.你必须做的是覆盖PageHandlerFactory基类,在这种类型中实现一些注入行为,并在web.config中注册这个新类型:
<?xml version="1.0"?>
<configuration>
<system.web>
<httpHandlers>
<add verb="*" path="*.aspx"
type="MyPageHandlerFactory, MyAsm"/>
</httpHandlers>
</system.web>
<system.webServer>
<handlers>
<add name="CSLPageHandler" verb="*" path="*.aspx"
type="MyPageHandlerFactory, MyAsm"/>
</handlers>
</system.webServer>
</configuration>
Run Code Online (Sandbox Code Playgroud)
我写了一篇关于如何创建一个PageHandlerFactory使用Common Service Locator的文章,但是你可以选择你最喜欢的IoC框架并只改变一行代码来使它工作.
祝好运.
| 归档时间: |
|
| 查看次数: |
1528 次 |
| 最近记录: |