随笔- 54  文章- 3  评论- 762  阅读- 39万 

  今天看到这篇文章 Unity&WebForm(1): 自定义IHttpHandlerFactory使用Unity对ASP.NET Webform页面进行依赖注入,这是一个很好的思路,自定义IHttpHandlerFactory结合Unity来对web页面进行依赖注入,大家可以去看看。但是回复中有人提出了问题,对于web site类型的站点,在配置文件中无法指定要注入类型和所在的程序集,也就无法使用Unity。

  现在的Unity并不支持对web页面的依赖注入,上文的作者也是利用一定的技巧来解决的。 其实Spring.Net已经支持对Web页面的依赖注入,而且并不用修改代码,只需要在配置文件中配置就行。而且它还支持对自定义的httpHandler,httpModule的依赖注入,不能不说它的功能强大。

  下面具体介绍如何使用Spring.Net:

1. 添加Spring的SectionGroup

<sectionGroup name="spring">
      
<section name="context" type="Spring.Context.Support.WebContextHandler, Spring.Web"/>
      
<section name="objects" type="Spring.Context.Support.DefaultSectionHandler, Spring.Core"/>
</sectionGroup> 

2. 添加HttpHandler配置

<add verb="*" path="*.aspx" type="Spring.Web.Support.PageHandlerFactory, Spring.Web"/>

3. 添加HttpModule配置(如果不添加的话,会有异常)

<add name="Spring" type="Spring.Context.Support.WebSupportModule, Spring.Web"/>

4. 最后配置如何依赖注入

<spring>
    
<context>
      
<resource uri="config://spring/objects"/>
    
</context>
    
<objects xmlns="http://www.springframework.net">
      
<object type="Default.aspx">
        
<property name="Service" ref="myService"/>
      
</object>
      
<object id="myService" type="Services.MyService, Services">
      
</object>
    
</objects>
  
</spring>

object的type属性表明你要对哪个页面进行注入,property的name属性是该页面中被注入的Property的名字,ref就指向了你想注入的实际类型。

由此可见,使用Spring.Net可以很方便的对web页面进行依赖注入。

 posted on   紫色阴影  阅读(6238)  评论(8编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
我要啦免费统计
点击右上角即可分享
微信分享提示