我正在研究如何将模型绑定到 MVC Web API 中的派生类,我遇到的问题是我认为我已经找到了大约 5 种方法......
我所拥有的是:
型号->
然后控制器容器该方法:
Post(ModelBase model) {}
发布的数据将是 ModelA 或 ModelB,我想将信息添加到 HTTP 请求元数据(认为 Content-Type: application/json; type=ModelA),并基于此告诉 MVC 将发布的内容绑定到 A 或B.
在代码中我想象的是这样的:
Bind(request, bindingContext)
{
// check request headers and then...
bindingContext.ModelType=typeof(ModelA);
// let the framework continue doing its thing deserializing the content
base.Bind(request, bindingContext);
}
其他人都是如何做到这一点的?或者你会如何建议这样做?
我见过 ParameterBinding、IModelBinder、MediaTypeFormatter 等。MVC 很棒,但有时很难想到应该使用哪个钩子......
EDIT:
为了添加更多信息,ModelBase很可能会成为一个接口,并且将有数百个具体类。
它将用于 CQRS:命令,然后是 ConcreteCommandA、ConcreteCommandB,这些将被推送到调度程序,我不想为每个命令执行一个操作,一个接收这些命令的中央操作,将它们反序列化为正确的类型并转发它们。
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)