2016-06-12 7 views
-1

私のプロジェクトでは、複数のコントローラを持っていますが、コンパイル時にはそれがあります。 1つのコントローラのいくつかのメソッドしか表示されません。私はこの問題で2日間立ち往生しています。誰でも私を助けることができます。私はあなたにとても感謝しています。 これはglobal.asaxファイルです。ここでWeb api MVCに複数のコントローラがありますが、ヘルプページに1つのコントローラしか表示されていませんか?

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 configです:これは、コントローラクラスの一つである

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

コードを表示してください。 – Mairaj

+1

コードは上記に添付されています。 – Hooriya

答えて

0

あなたはそれがpubilcであることを確認する必要があり、それはコントローラで終わり、あなたは、ルーティングを持っています

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

In WebApiConfig。 cs

+0

まだ同じ問題があります。 – Hooriya

+0

これらのコントローラはクライアントからアクセスできますか? –

+0

上記のコードを添付しました。それを確認してください。 – Hooriya

関連する問題