HttpHandler、Unity、依赖注入 (DI)、web.config 是否可能?
public class MyHttpHandler : IHttpHandler
{
public MyHttpHandler() { ... }
public IUnityContainer Container { get; set; }
}
有没有办法以某种方式将 Container 神奇地设置为我在 global.asax 中设置的容器?
现在,除了使用 AppDomain.CurrentDomain.GetData("container") 作为 IUnityContainer 之外,我找不到其他方法。
请告诉我是否有更干净的方法来执行此操作。
public class MyHttpHandler : IHttpHandler
{
public MyHttpHandler() { ... }
public IUnityContainer Container { get; set; }
}
Is there a way to somehow get Container magically be set to a container I setup in global.asax?
Right now I can't find a way of doing it other than using AppDomain.CurrentDomain.GetData("container") as IUnityContainer.
Please let me know if there is a cleaner way of doing this.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
首次在 google 上搜索
asp.net mvc2 unity
http://weblogs.asp.net/shijuvarghese/archive/2010/05/07/dependency-injection-in-asp-net-mvc-nerddinner-app-using-unity-2-0。 aspx
有很多关于MVC和Unity的文章。您基本上需要创建一个自定义控制器工厂(在 mvc2 中)。 MVC3有不同的解决方案。
更新
在全局中使用 BuildUp 方法.asax。
抱歉。那是针对现有对象的。为什么不直接
Register
然后直接Resolve
呢?First hit on google for
asp.net mvc2 unity
http://weblogs.asp.net/shijuvarghese/archive/2010/05/07/dependency-injection-in-asp-net-mvc-nerddinner-app-using-unity-2-0.aspx
There are plenty of articles about MVC and Unity. You basically need to create a custom controller factory (in mvc2). MVC3 got a different solution.
Update
Use the BuildUp method in global.asax.
Sry. that was for existing objects. Why not just
Register
it and directly afterResolve
it?单例模式可能会帮助你)
Singleton pattern may help you)
我会改用服务位置。
I would use service location instead.