将JSON字符串(多个参数)传递给Web API服务中的方法时出现异常

时间:2013-06-03 07:17:39

标签: asp.net-web-api asp.net-web-api-routing

尝试将JSON数据从脚本端传递到WebAPI服务中的方法时,我们遇到以下异常。

{
  "Message":"No HTTP resource was found that matches the request URI '.../api/Values/Sample'.",
  "MessageDetail":"No type was found that matches the controller named 'Values'."
}

重要提示:

在.net 4.0和VS2010中使用WebAPI时,我们没有遇到任何此类问题,但是当我们在.net 4.5和VS2012中使用WebAPI时,我们看到了这个问题。所以请用4.5框架进行诊断。  我们已将示例附加到以下链接中。如果您可以查看并发布带有注释的正确样本,那么因为我们是WebAPI概念的新手,这将非常有用。带有适当注释的事件发布代码片段没问题。

示例链接:http://www.fileconvoy.com/dfl.php?id=gb197faeca5017d489993001280c7f122f64fc06a7

提前致谢。

1 个答案:

答案 0 :(得分:0)

我看了你的样本。有几件事要解决它:

1.将控制器名称从ValuesController1更改为ValuesController。 Web API默认查找带有后缀“Controller”的控制器类。

2.更改您的路线到以下地址:

System.Web.Routing.RouteTable.Routes.MapHttpRoute(
           name: "DefaultApi",
           routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional});