Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.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
Asp.net mvc 类型为';DefaultInlineConstraintResolver';无法解析以下内联约束:_Asp.net Mvc_Asp.net Web Api_Asp.net Mvc Routing - Fatal编程技术网

Asp.net mvc 类型为';DefaultInlineConstraintResolver';无法解析以下内联约束:

Asp.net mvc 类型为';DefaultInlineConstraintResolver';无法解析以下内联约束:,asp.net-mvc,asp.net-web-api,asp.net-mvc-routing,Asp.net Mvc,Asp.net Web Api,Asp.net Mvc Routing,我想使用属性路由。我的代码是: [Route("api/ws/{parm: myClass}")] public void Post(myClass parm) { ... } 这导致WebApiConfig.Register中出现异常,如下所示: “DefaultInlineConstraintResolver”类型的内联约束解析程序无法解析以下内联约束:“myClass” 这一错误的原因可能是什么 myClass是一个复杂的对象,即不是一个简单的值类型,而是一个具有多个属性的类。允许使用这

我想使用属性路由。我的代码是:

[Route("api/ws/{parm: myClass}")]
public void Post(myClass parm)
{ ... }
这导致
WebApiConfig.Register中出现异常,如下所示:

“DefaultInlineConstraintResolver”类型的内联约束解析程序无法解析以下内联约束:“myClass”

这一错误的原因可能是什么


myClass
是一个复杂的对象,即不是一个简单的值类型,而是一个具有多个属性的类。允许使用这些参数吗?

不,不能在路由属性中使用对象;有一个包含允许的属性类型的完整列表的表。

由于您无法通过URL传递复杂对象(这是路由的唯一职责),因此不清楚您希望从中实现什么。复杂对象可以通过HTTP POST发布,并最终成为操作方法的参数,但URL与此无关(当然,除了选择要发布到的正确操作方法之外)。显示一个示例,说明
myClass
的外观以及您希望如何使用与路由参数相关的属性。根据类的复杂程度,您可以创建一个日志,并在日志正文中传递数据。我错误地认为参数重载可以用来匹配接收到的不同数据类型。我不完全理解routes是否也适用于post正文中的数据。