【发布时间】:2019-01-11 14:12:11
【问题描述】:
我从具有 VS 2017 的所有默认设置的空 asp.net web api 应用程序开始。我添加了一个带有 httpGet 的控制器方法,结果很好。
现在我安装了Microsoft.Owin.Host.SystemWeb 并添加了一个OWIN Startupclass。
[assembly: OwinStartup(typeof(WebApp1.Startup))]
namespace WebApp1
{
public class Startup
{
public void Configuration(IAppBuilder app)
{
var config = new HttpConfiguration();
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
}
之后我注释掉 global.asax 代码,因为我相信我不需要它,
protected void Application_Start()
{
//GlobalConfiguration.Configure(WebApiConfig.Register);
}
同时删除 Web API 路由的以下代码
//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: "api/{controller}/{id}",
// defaults: new { id = RouteParameter.Optional }
// );
// }
//}
现在我在访问 API 时遇到 404 错误,我的 OWIN 启动代码也在调用。这里有什么问题?请提出建议!。
【问题讨论】:
标签: asp.net-web-api2