Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net MVC-自定义模型绑定器和IoC之间有什么区别?_.net_Asp.net Mvc_Asp.net Mvc 4_Inversion Of Control - Fatal编程技术网

.net MVC-自定义模型绑定器和IoC之间有什么区别?

.net MVC-自定义模型绑定器和IoC之间有什么区别?,.net,asp.net-mvc,asp.net-mvc-4,inversion-of-control,.net,Asp.net Mvc,Asp.net Mvc 4,Inversion Of Control,抱歉,如果这是一个愚蠢的问题-我正在阅读一本MVC4书籍,我已经掌握了IoC与ninject的关系,现在是自定义模型绑定。 问题是: 如果两者都用于在运行时实例化参数,那么两者之间的真正区别是什么;我错过了什么? 谢谢:)活页夹是客户端用户输入和服务器处理之间的桥梁。绑定器允许您在比http输入更高的级别上工作。绑定对象只携带数据 另一方面,IoC容器实例化服务器端服务—这些对象做一些事情而不是创建数据,与用户输入无关。对象创建不是模型绑定器的主要目的。事实上,使用IoC容器创建必要的对象的模型

抱歉,如果这是一个愚蠢的问题-我正在阅读一本MVC4书籍,我已经掌握了IoC与ninject的关系,现在是自定义模型绑定。 问题是: 如果两者都用于在运行时实例化参数,那么两者之间的真正区别是什么;我错过了什么?
谢谢:)

活页夹是客户端用户输入和服务器处理之间的桥梁。绑定器允许您在比http输入更高的级别上工作。绑定对象只携带数据


另一方面,IoC容器实例化服务器端服务—这些对象做一些事情而不是创建数据,与用户输入无关。

对象创建不是模型绑定器的主要目的。事实上,使用IoC容器创建必要的对象的模型绑定器没有什么问题

模型绑定器的用途是将FormsCollection数据(数据的名称/值对的集合)转换为填充字段的对象

IoC容器不会进行任何这种转换。它只是创建你让它创建的东西

下面是一个简短的对话,介绍每种方法的工作原理:

“嘿,ModelBinder..这是一堆数据,想想怎么处理它” “对!看起来我需要一个新的LoginModel,让我通过Activator或IoC容器以某种方式创建一个,然后用与给定数据匹配的值填充它。”

而IoC容器更像:

“嘿,IoC容器,我需要一个实现IDatabase的对象” “好的!通过配置中的映射,我看到IDatabase接口映射到DatabaseInstance对象,所以我将为您创建一个新的接口,现在就可以了”

Thank you:)很有意义。我在一个对象填充示例中看到了一个活页夹,因此我感到困惑。