2016-04-09 22 views
0

JavaScript関数からWebApiメソッドを呼び出そうとしています。フィドラーを通じてWebApiコントローラがMVC Webサイトに追加されましたルート404

、私が作られている要求であることがわかります。

http://localhost:49601/api/faults?page=1&pageSize=5&filter=&sort=insertedDate+desc 

私はもともと(のVisual Studio 2015年)MVCテンプレートを使用して私のウェブサイトを作成しました。私は後でWebApiコントローラを追加しました。また、既存のWebApiConfig.csをApp_Startフォルダに追加しました。これは変更されないまま、次のように

public static void Register(HttpConfiguration config) 
    { 
     config.MapHttpAttributeRoutes(); 

     config.Routes.MapHttpRoute(
      name: "DefaultApi", 
      routeTemplate: "api/{controller}/{id}", 
      defaults: new { id = RouteParameter.Optional } 
     ); 
    } 

私の新しいWEBAPIコントローラが始まる:

public class FaultsController : ApiController 
{ 
    private ESBContext _context; 
    private IRepository<Fault> FaultRepository; 
    private static ILog _logger = 
     LogManager.GetLogger(
     System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); 

    public FaultsController(ESBContext context) 
    { 
     this.FaultRepository = new EFRepository<Fault>(context); 
     _context = context; 
     _context.Database.Log = (x => _logger.Debug(x)); //send EF queries via log4net 
    } 

    public IHttpActionResult GetFaults([FromUri]int page, [FromUri]int pageSize, [FromUri]string filter, [FromUri]string sort) 
    { 

要求は、私は404を取り戻す行われた場合。誰かが私が間違って行ったことを教えてもらえますか?

答えて

0

見つけました!

私はGlobal.asax.csのApplication_Startメソッドに以下を追加する必要:

GlobalConfiguration.Configure(WebApiConfig.Register); 
関連する問題