自托管 WebApi 路由问题

Self host WebApi Routing issues

我正在托管一个自托管的 WebApi,但我在路由方面遇到了困难。我想我配置好了,但我仍然得到 404 结果:

这是我的配置:

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

服务器初始化:

 string baseAddress = "http://localhost:1243";
    var configuration = new HttpSelfHostConfiguration(baseAddress);

    WebApiConfig.Register(configuration);
    _server = new HttpSelfHostServer(configuration);
    _server.OpenAsync().Wait();

那是我的控制器:

 public class ValuesController : ApiController
    {
        public IEnumerable<string> Get()
        {
            return new string[] { "value1", "value2" };
        }
    }

在我的浏览器中,我正在尝试导航:

http://localhost:1243/api

默认值错误:

默认值:新{ id = RouteParameter.Optional, 控制器 = "Values", action = "Index" });

我的控制器中没有任何调用 Index 的操作。所以它是.. 花了一段时间,但我的同事最终发现了它。