Я запускаю приложение Empty asp.net web api со всеми настройками по умолчанию для VS 2017. Я добавил один метод контроллера с httpGet, и результат в порядке.
Теперь я установил Microsoft.Owin.Host.SystemWeb
и добавил OWIN Startup
класс.
[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);
}
Удаление приведенного ниже кода для маршрутов веб-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 }
// );
// }
//}
Теперь я получаю ошибку 404 при доступе к API, мой код запуска OWIN также вызывает. Что здесь не так? пожалуйста, предложите!