在我的项目中,我有多个控制器,但在编译时。它仅显示一个控制器的某些方法。两天后我陷入了这个问题。谁能帮我吗。我将非常感谢你。 它是global.asax文件。
public class WebApiApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
GlobalConfiguration.Configure(WebConfig.Register);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
这是Web配置:
public class WebConfig
{
public static void Register(HttpConfiguration config)
{
// Web API routes
// config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "apsi-info",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional });
}
}
这是控制器类之一:
namespace EpubAPI.Controllers
{
[Authorize]
[RoutePrefix("api/Announce")]
public class AnnouncementController : ApiController
{
// GET api/<controller>
[Route("GetData")]
[HttpGet]
public List<EAnnouncement> Get(string code)
{
return AnnouncementC.getdata(code);
}
[Route]
[HttpPost]
public void Post(EAnnouncement announcement)
{
AnnouncementC.insert(announcement);
}
}
答案 0 :(得分:0)
你需要验证它是pubilc,它以控制器结束,你有路由
routes.MapHttpRoute(
name: "API Default",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
在WebApiConfig.cs
中