.net 找到多个与请求web API匹配的操作

.net 找到多个与请求web API匹配的操作,.net,asp.net-web-api,.net,Asp.net Web Api,我正在使用WEB API,我面临着“发现多个操作与请求相匹配”的问题,尽管我已经完成了stackoverflow上给出的许多解决方案,但我仍然无法清楚地理解问题是什么,有人能帮我解决吗 以下是两个WEB API函数: 第一: 第二: [BasicAuthentication] public List<Voice> GetVoicesByStatus(string Status) { List<Voice> Voc = db.Voic

我正在使用WEB API,我面临着“发现多个操作与请求相匹配”的问题,尽管我已经完成了stackoverflow上给出的许多解决方案,但我仍然无法清楚地理解问题是什么,有人能帮我解决吗

以下是两个WEB API函数: 第一:

第二:

    [BasicAuthentication]
    public List<Voice> GetVoicesByStatus(string Status)
    {
        List<Voice> Voc = db.Voices.Where(x => x.Status == Status).ToList();
        if (Status == null)
        {
            throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound));
        }

        return Voc;
    }
我已经这样试过了

    config.Routes.MapHttpRoute(
             name: "DefaultApi",
            routeTemplate: "api/{controller}/{action}/{id}",
             defaults: new
             {
                 id = RouteParameter.Optional
             }
         );
Ajax调用函数:

   function GetVoicesByStatus(status) {
        $.ajax({
            type: 'GET',
            url: 'http://xx.xx.xx.xx:xx/api/Application/GetVoicesByStatus?status=' + status,
            data: JSON.stringify({}),
            contentType: 'application/json',
            dataType: 'json',
            headers: { 'AuthToken': '2FEA7374-EBA2-4367-9492-6DB3334AD2AF' },
            success: function (data) {
                for (var i = 0; i < data.length; i++) {
                    var str = "<tr><td>" + data[i].ID + "</td><td>" + data[i].Status + "</td><td>" + data[i].Text + "</td><td><a href='#' onclick='fnDelete(&#39;" + data[i].ID + "&#39;)'>Delete</a></td></tr>";
                    $("#stage").append(str);
                }

            }
        });
    }
函数GetVoicesByStatus(状态){
$.ajax({
键入:“GET”,
网址:'http://xx.xx.xx.xx:xx/api/Application/GetVoicesByStatus?status="地位,,
数据:JSON.stringify({}),
contentType:'应用程序/json',
数据类型:“json”,
标题:{'AuthToken':'2FEA7374-EBA2-4367-9492-6DB3334AD2AF'},
成功:功能(数据){
对于(变量i=0;i
但是它不起作用,请帮助我并建议需要做哪些更改


谢谢

你也可以发布你访问API的方式吗?我已经编辑了我的问题
    config.Routes.MapHttpRoute(
             name: "DefaultApi",
            routeTemplate: "api/{controller}/{action}/{id}",
             defaults: new
             {
                 id = RouteParameter.Optional
             }
         );
   function GetVoicesByStatus(status) {
        $.ajax({
            type: 'GET',
            url: 'http://xx.xx.xx.xx:xx/api/Application/GetVoicesByStatus?status=' + status,
            data: JSON.stringify({}),
            contentType: 'application/json',
            dataType: 'json',
            headers: { 'AuthToken': '2FEA7374-EBA2-4367-9492-6DB3334AD2AF' },
            success: function (data) {
                for (var i = 0; i < data.length; i++) {
                    var str = "<tr><td>" + data[i].ID + "</td><td>" + data[i].Status + "</td><td>" + data[i].Text + "</td><td><a href='#' onclick='fnDelete(&#39;" + data[i].ID + "&#39;)'>Delete</a></td></tr>";
                    $("#stage").append(str);
                }

            }
        });
    }