Asp.net mvc 发布后WebAPI ActionName未路由:404-未找到文件或目录

Asp.net mvc 发布后WebAPI ActionName未路由:404-未找到文件或目录,asp.net-mvc,asp.net-mvc-5,asp.net-mvc-5.1,Asp.net Mvc,Asp.net Mvc 5,Asp.net Mvc 5.1,在VS中测试我的动作时,一切都正常 部署后,/site/controller按预期响应(403),而/site/controller/action以404响应 从同一解决方案部署到同一根的其他api项目正在按预期工作 每个项目都配置为IIS中的应用程序 你能给我一个关于如何继续的线索,或者在这里添加什么信息来澄清配置吗 Global.asax: using System; using System.Collections.Generic; using System.Linq; using Sys

在VS中测试我的动作时,一切都正常

部署后,/site/controller按预期响应(403),而/site/controller/action以404响应

从同一解决方案部署到同一根的其他api项目正在按预期工作

每个项目都配置为IIS中的应用程序

你能给我一个关于如何继续的线索,或者在这里添加什么信息来澄清配置吗

Global.asax:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http.Formatting;
using System.Net.Http.Headers;
using System.Web;
using System.Web.Http;
using System.Web.Routing;


namespace ssa
{
    public class WebApiApplication : System.Web.HttpApplication
    {
        protected void Application_Start()
        {
            GlobalConfiguration.Configure(WebApiConfig.Register);

            GlobalConfiguration.Configuration.Formatters.JsonFormatter.MediaTypeMappings.Add(
            new QueryStringMapping("type", "json", new MediaTypeHeaderValue("application/json")));

            GlobalConfiguration.Configuration.Formatters.XmlFormatter.MediaTypeMappings.Add(
            new QueryStringMapping("type", "xml", new MediaTypeHeaderValue("application/xml")));
        }
    }
}
WebApiConfig.cs:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Http;

namespace ssa
{
    public static class WebApiConfig
    {
        public static void Register(HttpConfiguration config)
        {
            // Web API configuration and services

            // Web API routes
            config.MapHttpAttributeRoutes();

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

我不确定您是否需要在global.asax中注册所有路由,但请检查以下内容:

检查您的服务器是否配置为运行目标.net版本。从服务器的角度来看,web api 1.0和2.0之间可能存在一些差异