Tôi đang cố gắng sử dụng Bộ điều khiển MVC và bộ điều khiển WebAPI trong cùng một dự án nhưng tôi gặp lỗi 404 cho webapi. Tôi đã bắt đầu dự án với tư cách là dự án MVC vào năm 2015 nhưng sau đó thêm control webapi và với mã mặc định, nó sẽ đưa ra lỗi 404Làm thế nào để sử dụng Bộ điều khiển MVC và Bộ điều khiển WebAPI trong cùng một dự án
giải pháp có thể là gì. Tôi đã thử một số giải pháp về Stackoverflow nhưng họ đã không làm việc một trong số họ là bên dưới liên kết (Được chấp nhận trả lời đằng kia) All ASP.NET Web API controllers return 404
Global.asax file Code:
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
GlobalConfiguration.Configure(WebApiConfig.Register);//WEB API 1st
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
WEBAPI.CONFIG fILE
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
Route Config file Mã
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}
WebAPI khiển MÃ
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using O365_APIs_Start_ASPNET_MVC.Models;
using Microsoft.IdentityModel.Clients.ActiveDirectory;
using O365_APIs_Start_ASPNET_MVC.Helpers;
using System.Threading.Tasks;
namespace O365_APIs_Start_ASPNET_MVC.Controllers
{
public class MAILAPIController : ApiController
{
private MailOperations _mailOperations = new MailOperations();
//async Task<BackOfficeResponse<List<Country>>>
// GET: api/MAILAPI
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
// GET: api/MAILAPI/5
public string Get(int id)
{
return "value";
}
// POST: api/MAILAPI
public void Post([FromBody]string value)
{
}
// PUT: api/MAILAPI/5
public void Put(int id, [FromBody]string value)
{
}
// DELETE: api/MAILAPI/5
public void Delete(int id)
{
}
}
}
CŨNG NHẬN NuGet RESTORE LỖI TRÊN GIẢI PHÁP CÙNG Error Nuget failed to restore PNG
Trình điều khiển trông giống như bạn đang cố gắng gọi? –
Bạn gọi 'WebApiConfig.Register' ở đâu? – Richard
@MitchelSellers sẽ thêm mã điều khiển – user3177519