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