C# Can';t调用第二个控制器上的操作
我找不到第二个控制器来操作。我定义了第一个控制器,并毫无问题地测试了它的所有方法。当我尝试在第二个控制器上调用方法时,我收到以下错误消息:C# Can';t调用第二个控制器上的操作,c#,asp.net-mvc,C#,Asp.net Mvc,我找不到第二个控制器来操作。我定义了第一个控制器,并毫无问题地测试了它的所有方法。当我尝试在第二个控制器上调用方法时,我收到以下错误消息: <Error> <Message> No HTTP resource was found that matches the request URI 'http://localhost:9801/api/defense/getgameopponents/seattle seahawks'. </Message> <Me
<Error>
<Message>
No HTTP resource was found that matches the request URI 'http://localhost:9801/api/defense/getgameopponents/seattle seahawks'.
</Message>
<MessageDetail>
No action was found on the controller 'Defense' that matches the name 'get'.
</MessageDetail>
</Error>
最后是我的路由表。我有一种强烈的感觉,这就是问题所在,但我不能对此指手画脚。这是我第一次尝试创建这样一个项目,所以任何帮助都将不胜感激
namespace Test
{
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.Routes.MapHttpRoute(
name: "GetPlayerPastOpponentsApi",
routeTemplate: "api/{controller}/{action}/{position}/{teamname}/{playername}"
);
config.Routes.MapHttpRoute(
name: "GetPlayersApi",
routeTemplate: "api/{controller}/{action}/{position}/{teamname}"
);
config.Routes.MapHttpRoute(
name: "GetPlayerStatsApi",
routeTemplate: "api/{controller}/{action}/{position}/{teamname}/{playername}"
);
config.Routes.MapHttpRoute(
name: "GetGameOpponentsApi",
routeTemplate: "api/{controller}/{action}/{team}"
);
config.Routes.MapHttpRoute(
name: "GetOpponentsStatsApi",
routeTemplate: "api/{controller}/{action}/{opponentname}"
);
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
config.EnableSystemDiagnosticsTracing();
}
}
}看起来您缺少动作方法上的
公共
名称
public /* <---THIS */ Defense GetOpponentsStats(string teamName)
{
return DefenseController.repository.GetOpponentStats(new Defense(teamName));
}
public/*你为我节省了这么多时间和压力。非常感谢。真不敢相信我错过了那个不同。
namespace Test
{
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.Routes.MapHttpRoute(
name: "GetPlayerPastOpponentsApi",
routeTemplate: "api/{controller}/{action}/{position}/{teamname}/{playername}"
);
config.Routes.MapHttpRoute(
name: "GetPlayersApi",
routeTemplate: "api/{controller}/{action}/{position}/{teamname}"
);
config.Routes.MapHttpRoute(
name: "GetPlayerStatsApi",
routeTemplate: "api/{controller}/{action}/{position}/{teamname}/{playername}"
);
config.Routes.MapHttpRoute(
name: "GetGameOpponentsApi",
routeTemplate: "api/{controller}/{action}/{team}"
);
config.Routes.MapHttpRoute(
name: "GetOpponentsStatsApi",
routeTemplate: "api/{controller}/{action}/{opponentname}"
);
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
config.EnableSystemDiagnosticsTracing();
}
}
public /* <---THIS */ Defense GetOpponentsStats(string teamName)
{
return DefenseController.repository.GetOpponentStats(new Defense(teamName));
}