MVC Denetleyici ve WebAPI denetleyicisini aynı projede kullanmaya çalışıyorum ancak webapi için 404 hatası aldım. 2015 yılında MVC Projesi olarak projeye başladım ancak webapi kontrolünü ekledim ve varsayılan kod ile 404 hatası veriyorMVC Denetleyici ve WebAPI Denetleyici aynı projede Nasıl Kullanılır
Olası çözüm ne olabilirdi. Ben Stackoverflow üzerinde bazı çözüm denedim ama içlerinden biri linki aşağıda (orada Kabul Cevap) All ASP.NET Web API controllers return 404
Global.asax dosyası Kodu olduğu çalıştı vermedi:
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 DOSYA
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 }
);
}
}
Rota Yapılandırma Dosyası Kod
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 Kontrolör KOD
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)
{
}
}
}
AYRICA Nuget MVC güzergahına kayıt Error Nuget failed to restore PNG
neyi aramak çalışıyoruz böyle kontrolör görünüyor? –
WebApiConfig.Register' öğesini nerede arıyorsun? – Richard
@MitchelSellers denetleyici kodu ekleyecek – user3177519