Wie zu Verwenden MVC-Controller und WebAPI Controller im gleichen Projekt

Ich versuche, mit MVC-Controller und WebAPI controller im gleichen Projekt, aber ich habe 404 Fehler für die webapi . Ich startete das Projekt als MVC-Projekt in vs 2015, aber dann Hinzugefügt, webapi controlle und mit Standard-code, es gibt 404 error

was möglich sein könnte, die Lösung . Ich habe versucht, eine Lösung auf Stackoverflow hat Sie aber nicht gearbeitet, einer von Ihnen ist über den link unten (Akzeptierten Antworten mehr gibt )
Alle ASP.NET Web-API-Controller return 404

Global.ASAX Datei-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-DATEI

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-Datei Code

  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-Controller-CODE

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

AUCH IMMER NUGET RESTORE FEHLER IN DER GLEICHEN LÖSUNG
Fehler Nuget-Fehler beim wiederherstellen PNG

  • Was macht den controller so Aussehen, dass Sie versuchen, zu nennen?
  • Wo nennst du WebApiConfig.Register?
  • hinzufügen controller-code
  • gehen Sie zu Datei hinzufügen code, in dem register heißt
  • ich habe versucht, das hinzufügen, aber wenn ich mit dieser Zeile ----GlobalConfiguration.Konfigurieren(WebApiConfig.Register);---- nach Registerallareas in der application_start-Projekt gibt 404 runtime error. Durch Entfernen der genannten Zeile kann ich mvc-cotroller aber nicht webapi Controller und das hinzufügen von Linie-Laufzeit 404 für beide Controller
  • webapi-controller-code ist Standard-ich habe einfach neue webapi cotroller mit readwrite-Aktionen
  • zeigen Sie Ihren web-api-controller-code hier
  • WebAPI-CODE HINZUGEFÜGT

InformationsquelleAutor user3177519 | 2016-08-29
Schreibe einen Kommentar