asp.net-mvc – Ninject绑定在不同的控制器上
发布时间:2020-12-16 07:15:18 所属栏目:asp.Net 来源:网络整理
导读:我试图将两个具体类绑定到一个接口.我应该在Ninject中使用什么命令来做到这一点?我想要做的是将两个具体类绑定到控制器名称上的一个接口.那可能吗?我想在ninject中你使用.When来给出条件,但没有教程在那里他们向你展示如何使用.When for ninject. 解决方法
我试图将两个具体类绑定到一个接口.我应该在Ninject中使用什么命令来做到这一点?我想要做的是将两个具体类绑定到控制器名称上的一个接口.那可能吗?我想在ninject中你使用.When来给出条件,但没有教程在那里他们向你展示如何使用.When for ninject.
解决方法
这里有几个例子.查看Ninject源项目及其测试子项目的各种使用样本,这是最好的文档,特别是因为尚未针对v2更新文档.
// usage of WhenClassHas attribute Bind<IRepository>().To<XmlDefaultRepository>().WhenClassHas<PageAttribute>().WithConstructorArgument("contentType",ContentType.Page); // usage of WhenInjectedInto Bind<IRepository>().To<XmlDefaultRepository>().WhenInjectedInto(typeof(ServicesController)); Bind<IRepository>().To<XmlDefaultRepository>().WhenInjectedInto(typeof(PageController)).WithConstructorArgument("contentType",ContentType.Page); Bind<IRepository>().To<XmlDefaultRepository>().WhenInjectedInto(typeof(WidgetZoneController)).WithConstructorArgument("contentType",ContentType.WidgetZone); // you can also do this Bind<IRepository>().To<PageRepository>().WhenInjectedInto(typeof(PageController)).WithConstructorArgument("contentType",ContentType.Page); Bind<IRepository>().To<WidgetZoneRepository>().WhenInjectedInto(typeof(WidgetZoneController)).WithConstructorArgument("contentType",ContentType.WidgetZone); // or this if you don't need any parameters to your constructor Bind<IRepository>().To<PageRepository>().WhenInjectedInto(typeof(PageController)); Bind<IRepository>().To<WidgetZoneRepository>().WhenInjectedInto(typeof(WidgetZoneController)); // usage of ToMethod() Bind<HttpContextBase>().ToMethod(context => new HttpContextWrapper(HttpContext.Current)); HTH (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 运行SonarQube针对ASP.Net核心解决方案/项目
- .NET Framework 3.5中有哪些有用的新ASP.NET功能?
- asp.net-mvc – asp.NET:未知长度的MVC路径
- asp.net – 确定所需服务器数量的最佳方法
- Asp.net MVC使用EasyNetQ操作RabbitMQ
- 如果ASP.NET应用程序使用许多DLL,那么保持每个dll的配置分离
- asp.net-mvc – 适当地url编码空间字符
- 在ASP.NET中使用querystring的最佳做法?
- telerik – 在向网格添加行时,具有ASP.NET MVC3的Kendo UI默
- asp.net – 无法加载文件或程序集System.Web.Http,版本= 5.
推荐文章
站长推荐
- asp.net – ASP .NET ProcessModel配置
- asp.net-mvc – ASP.NET MVC Preview 5 on Mono
- asp.net – 如何将演示模型与Webforms一起使用?
- asp.net-mvc – 安装KB2993928后,ASP.NET MVC4解
- asp.net-mvc – MVC Razor – 如何向自己提交表单
- asp.net-mvc – 使用单元测试在asp.net mvc中验证
- 过期输出缓存ASP.Net MVC
- EFCore 5 中的 DbContextFactory
- asp.net – 如何在一个新的选项卡中打开asp:Hyp
- rest – asp.net Web Api – 默认错误消息
热点阅读