【问题标题】:I have multiple controllers in web api MVC but Help page is showing only one controller?我在 web api MVC 中有多个控制器,但帮助页面只显示一个控制器?
【发布时间】:2016-06-12 04:47:14
【问题描述】:

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

        }

这是网络配置:

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);
        }
}

【问题讨论】:

  • 请出示您的代码。
  • 代码附在上面。

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


【解决方案1】:

你需要验证它是公共的,它以控制器结尾并且你有路由

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

在 WebApiConfig.cs 中

【讨论】:

  • 还是有同样的问题。
  • 客户端可以访问这些控制器吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-06-25
  • 1970-01-01
  • 2013-11-12
  • 1970-01-01
  • 2014-10-11
  • 2014-02-28
  • 1970-01-01
相关资源
最近更新 更多