C# 无法访问web api中两个不同控制器下的两个不同操作

C# 无法访问web api中两个不同控制器下的两个不同操作,c#,asp.net-mvc,asp.net-web-api,C#,Asp.net Mvc,Asp.net Web Api,我有两个包含不同操作名称的控制器,我正在尝试访问它们,我可以访问Transmitation controller下的PrepareTransmitterPath,但无法访问Concrete controller下的PrepareContereport 可能是我的web api路由工作不正常。提前谢谢 Transmitation Controller——其中TransmittalApi是一个类 public string PrepareTransmittalLetterPath(Transmitt

我有两个包含不同操作名称的控制器,我正在尝试访问它们,我可以访问Transmitation controller下的PrepareTransmitterPath,但无法访问Concrete controller下的PrepareContereport

可能是我的web api路由工作不正常。提前谢谢

Transmitation Controller——其中TransmittalApi是一个类

public string PrepareTransmittalLetterPath(TransmittalApi transmittalApi)
{

}
public ConcreteReportApi PrepareConcreteReport(ConcreteReportApi concreteApi)
{

}
Concrete Controller-其中ConcreteReportApi是一个类

public string PrepareTransmittalLetterPath(TransmittalApi transmittalApi)
{

}
public ConcreteReportApi PrepareConcreteReport(ConcreteReportApi concreteApi)
{

}
WebApiConfig-

public static class WebApiConfig
{
    public static void Register(HttpConfiguration config)
    {
           config.Routes.MapHttpRoute(
            name: "Api",
            routeTemplate: "api/{controller}/{action}/{id}",
            defaults: new { id = RouteParameter.Optional }

        );

    }
}

使用基于约定的路由意味着您的操作方法名称需要以
Get…
Post…
开头

要查找该操作,Web API将查看HTTP方法,然后查找名称以该HTTP方法名称开头的操作。例如,对于GET请求,Web API查找以“GET…”开头的操作,例如“GetContact”或“GetAllContacts”。此约定仅适用于GET、POST、PUT和DELETE方法。您可以使用控制器上的属性启用其他HTTP方法


有关更多信息,请参阅。

您正在尝试的端点(url)是什么?控制器中是否还有其他响应您呼叫的操作方法?您得到的响应是什么我正在尝试使用'response=confClient.postasjssonasync(“api/concrete/prepareCrecretereport/0”,concreteApi).Result;'我得到错误404,没有找到与请求URI匹配的HTTP资源