• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ASP.NET Web API和依赖注入

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

ASP.NET Web API中自带了一个依赖解析器(Dependency Resolver)接口,允许我们向控制器注入依赖关系。不过,Mark Seemann建议要达到此目的最好还是使用IHttpControllerActivator接口,并举了两个例子。

使用IDependencyResolver会带来哪些问题呢?Mark做出了解释:

问题是,在某个(IDependencyResolver的)实现中,你所得到的是一个Type实例,并要求返回一个对象,但你却并不了解上下文信息。你不知道依赖关系图有多深,并且当被多次要求提供相同服务的实例时,你并不知道这是来自同一个HTTP请求,还是多个并发的HTTP请求。

Mark建议最好替换服务容器(Service Container)中的IHttpControllerActivator接口。IHttpControllerActivator提供了HttpRequestMessage对象,可以提供上下文信息。他还列举了两个示例,一个是“使用简单的自定义DI容器”,一个是“使用更加健壮的DI容器,Castle Windsor”、(Autofac ASP.NET Web API (Beta) Integration)。

注意,不管是哪种方法,每个请求都会创建一次控制器,并且在请求被处理后释放这些控制器。区别主要在于解析类型的时候,容器可以使用哪些信息。 在更广的范围来说,这只是ASP.NET可扩展性的一个示例。

 

查看英文原文ASP.NET Web API And Dependency Injection

Dependency Injection with ASP.NET Web API and Autofac


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
ASP.netMembership角色与权限管理(一)发布时间:2022-07-10
下一篇:
Asp.net大文件上传解决方案发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap