我在web api MVC中有多个控制器,但帮助页面只显示一个控制器?

时间:2016-06-12 04:47:15

标签: c# asp.net asp.net-mvc asp.net-web-api

在我的项目中,我有多个控制器,但在编译时。它仅显示一个控制器的某些方法。两天后我陷入了这个问题。谁能帮我吗。我将非常感谢你。 它是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);
        }
}

1 个答案:

答案 0 :(得分:0)

你需要验证它是pubilc,它以控制器结束,你有路由

routes.MapHttpRoute(
name: "API Default",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }

在WebApiConfig.cs