gpt4 book ai didi

asp.net-mvc - 将依赖项注入(inject)自定义 ModelBinder

转载 作者:行者123 更新时间:2023-12-05 00:43:57 25 4
gpt4 key购买 nike

我目前有一个 ASP.net MVC 项目正在进行中,我想知道以下是否可行:
我有一个自定义 ModelBinder 类,它具有对服务(本质上是 fetcher)的引用作为依赖项。我希望使用 IoC 容器(当前为 Ninject)注入(inject)依赖项,但在方法链中似乎没有任何地方可以插入一些东西,说从我的 IoC 容器加载模型绑定(bind)器。

我的第一个想法是拥有一个通用对象绑定(bind)器,然后尝试从容器中检索特定的 ModelBinder,如果找不到则返回 null,然后将其设置为绑定(bind)器,即类似于:
ModelBinders.Binders.Add(typeof(object),typeof(NinjectModelBinder));

但我不确定

  • a) 如果这可行
  • b) 如果这样做真的是正确的

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

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

    最佳答案

    我认为您将不得不在模型绑定(bind)器中进行服务定位器调用,或者构建模型绑定(bind)器,或者两者兼而有之。

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

    关于asp.net-mvc - 将依赖项注入(inject)自定义 ModelBinder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/579598/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com