加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 将依赖项注入自定义ModelBinder

发布时间:2020-12-16 06:41:23 所属栏目:asp.Net 来源:网络整理
导读:我目前正在开发一个ASP.net MVC项目,我想知道以下是否可行: 我有一个自定义的ModelBinder类,它引用了一个服务(本质上是一个fetcher)作为依赖项.我希望使用IoC容器(当前为Ninject)注入依赖项,但在方法链中似乎没有任何地方可以插入一些内容,即从IoC容器中加
我目前正在开发一个ASP.net MVC项目,我想知道以下是否可行:
我有一个自定义的ModelBinder类,它引用了一个服务(本质上是一个fetcher)作为依赖项.我希望使用IoC容器(当前为Ninject)注入依赖项,但在方法链中似乎没有任何地方可以插入一些内容,即从IoC容器中加载模型绑定器.

我的第一个想法是有一个通用的对象绑定器,然后尝试从容器中检索特定的ModelBinder,如果没有找到则返回null,然后将其作为绑定器,例如:
????ModelBinders.Binders.Add(typeof运算(对象)的typeof(NinjectModelBinder));

但我不确定

> a)如果这样可行
> b)如果它真的是正确的事情

我可以放弃复杂对象的解析直到Action方法,但是能够提供复杂对象(基本上是从数据访问层加载和构建)作为操作的参数会更清晰,更可取.

任何想法/帮助表示赞赏.

解决方法

我认为你将不得不在模型绑定器中进行服务定位器调用,或者建立模型绑定器,或者两者兼而有之.

ModelBinders.Binders.Add(typeof(Customer),Resolve<CustomerBinder>());

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读