Asp.net mvc 走线,打错动作

Asp.net mvc 走线,打错动作,asp.net-mvc,asp.net-mvc-4,asp.net-mvc-routing,url-routing,Asp.net Mvc,Asp.net Mvc 4,Asp.net Mvc Routing,Url Routing,我有两个动作,每当我显式调用第二个动作时,第一个动作仍然会被调用。我需要能够在mysite.com/api/Awesome/GetSomeExamples中编写,而不会总是触发getAllClass public class AwesomeController : Controller { public IEnumerable<myClass> GetAllClasses() { //...some stuff } public IEnumerab

我有两个动作,每当我显式调用第二个动作时,第一个动作仍然会被调用。我需要能够在mysite.com/api/Awesome/GetSomeExamples中编写,而不会总是触发getAllClass

public class AwesomeController : Controller
{
   public IEnumerable<myClass> GetAllClasses()
   {
      //...some stuff
   }
   public IEnumerable<string> GetSomeExamples()
   {
       //...some stuff
   }
     //... also have some more actions which take in one parameter
}
获取错误:发现多个操作与您正在使用的Web API的请求相匹配

与普通MVC操作的区别在于Web API查看HTTP谓词以确定要调用的操作。在本例中,有两种方法以
Get

但是,这会触发一个错误:
发现多个与请求匹配的操作…
它不应该同时采取行动

您需要的URL是:

mysite.com/api/Awesome/

从那里,Web API将调用以
Get
开头的方法。您需要删除另一个get方法并将其放在另一个控制器中。Web API假定每个http谓词有一个操作

指定的路由是正确的。您可能在内部从一个方法调用另一个方法。请检查GetSomeExamples中的代码。我确实在javascript中调用了它,但只是在某个页面上,我删除了它(以防万一),但我仍然收到了这个错误:发现了多个与请求匹配的操作。谢谢,从不知道Web API的行为不同,谢谢。糟糕的是,我不得不把动作放到另一个控制器中,因为它们都得到了相似的数据。一个是获取所有数据,另一个是获取所有不同的数据。
mysite.com/api/Awesome/