【发布时间】:2015-03-11 08:37:16
【问题描述】:
我正在使用 .NET Framework 4.5.1 和 C# 开发一个 ASP.NET Web Api 2.2 应用程序。
我有一个使用这种方法的控制器:
public HttpResponseMessage Get(
string productCode,
byte codeLevel,
string productionOrderName,
string batchName,
string lineName,
int quantity)
{
这就是我在WebApiConfig 上配置其路由的方式:
config.Routes.MapHttpRoute(
name: "ExternalCodesActionApi",
routeTemplate: "api/ExternalCodes/{action}/{productCode}/{codeLevel}/{productionOrderName}/{batchName}/{lineName}/{quantity}",
defaults: new { controller = "ExternalCodes" });
但现在我在同一个控制器上有另一种方法 (ExternalCodesController):
[HttpPut]
public HttpResponseMessage SetCodesAsUsed(List<string> codes)
{
但是,使用该路线,当我使用该方法 (http://myHost:53827/api/ExternalCodes/SetCodesAsUsed) 时,我会收到带有以下消息的 InvalidOperationException:
“找到了几个与请求匹配的操作:
SetCodesAsUsed 类型 MyProject.Web.API.Controllers.ExternalCodesController
SetCodesAsUnUsed 类型 MyProject.Web.API.Controllers.ExternalCodesController",
在同一个ExternalCodesController中还有另一种方法:
[HttpPut]
public HttpResponseMessage SetCodesAsUnUsed(List<string> codes)
{
我做错了什么?
这些方法有不同的名称。
【问题讨论】:
-
我怀疑冲突是因为这些Web API操作...
-
“当我使用那个方法时” - 显示请求。
标签: c# asp.net asp.net-web-api asp.net-web-api-routing