C# 将WebAPI添加到现有MVC项目中-使用404

C# 将WebAPI添加到现有MVC项目中-使用404,c#,asp.net-mvc,asp.net-web-api,C#,Asp.net Mvc,Asp.net Web Api,添加此项时,有许多建议的问题/答案。我经历了一系列的考验,但似乎都无济于事 我肯定我错过了一些简单的东西,只是看不见而已 我有一个现有的ASP.NETMVC(V5)站点。这是一页 我正在向它添加一个API控制器(WebAPI 2)来处理一些ajax帖子 当我试图发布到我的控制器时,我似乎无法通过404错误 我还使用属性路由 以下是我认为您需要了解的代码部分: API控制器 [RoutePrefix("api/services")] public class ServicesController

添加此项时,有许多建议的问题/答案。我经历了一系列的考验,但似乎都无济于事

我肯定我错过了一些简单的东西,只是看不见而已

我有一个现有的ASP.NETMVC(V5)站点。这是一页

我正在向它添加一个API控制器(WebAPI 2)来处理一些ajax帖子

当我试图发布到我的控制器时,我似乎无法通过404错误

我还使用属性路由

以下是我认为您需要了解的代码部分:

API控制器

[RoutePrefix("api/services")]
public class ServicesController : ApiController
{
    [HttpPost]
    [Route("contact")]
    public HttpResponseMessage SendContact(ContactModel model)
    {
        return Request.CreateResponse(HttpStatusCode.OK, true);
    }

}
WebApiConfig-在我尝试时,有几个部分被注释掉了

public class WebApiConfig
{
    public static void Register(HttpConfiguration configuration)
    {

        configuration.MapHttpAttributeRoutes();


        //configuration.Routes.MapHttpRoute("API Default", "api/{controller}/{id}",
        //    new { id = RouteParameter.Optional });
    }
}
还有我的global.cs-再次评论了我尝试过的东西

AreaRegistration.RegisterAllAreas();
RouteConfig.RegisterRoutes(RouteTable.Routes);
//WebApiConfig.Register(GlobalConfiguration.Configuration);
BundleConfig.RegisterBundles(BundleTable.Bundles);
GlobalConfiguration.Configure(WebApiConfig.Register);
当尝试发布到我收到的api时:

POST http://localhost:8085/api/services/contact 404 (Not Found)
知道我遗漏了什么吗?

试着把

GlobalConfiguration.Configure(WebApiConfig.Register);
以前

RouteConfig.RegisterRoutes(RouteTable.Routes);
因此,它应该是:

        AreaRegistration.RegisterAllAreas();
        GlobalConfiguration.Configure(WebApiConfig.Register);
        RouteConfig.RegisterRoutes(RouteTable.Routes);
        BundleConfig.RegisterBundles(BundleTable.Bundles);

该死的。。。非常感谢。我知道这很简单!再次感谢。