我创建了.NET Core控制台应用程序,我打算在其中托管web api并使用TopShelf将其包装在Windows服务中

我的网络前端有一个web api所以我已经适应了这个应用程序

大多数集成都很简单 - 只需添加添加包

但是,我很难过

app.UseAutofacWebApi(config);
app.UseWebApi(config);

即使我安装了包(AutoFac.Owin和AutoFac.Mvc5),这仍然无法解决

完整代码如下

using System.Web.Http;
using Autofac;
using Autofac.Integration.WebApi;
using Owin;

public partial class Startup
{
    private void ConfigureWebApi(IAppBuilder app)
    {
        var config = new HttpConfiguration();
        config.MapHttpAttributeRoutes();

        config.Routes.MapHttpRoute(
            name: "ControllerOnly",
            routeTemplate: "api/{controller}"
        );

        config.Routes.MapHttpRoute(
            name: "ControllerAndAction",
            routeTemplate: "api/{controller}/{action}"
        );

        config.Routes.MapHttpRoute(
            name: "ControllerAndId",
            routeTemplate: "api/{controller}/{id}",
            defaults: null
        );

        config.DependencyResolver = new AutofacWebApiDependencyResolver(_container);
        app.UseAutofacMiddleware(_container);
        app.UseAutofacWebApi(config);
        app.UseWebApi(config);
    }

    partial void ConfigureAutofacForWebApi(ContainerBuilder builder)
    {
        builder.RegisterApiControllers(Assembly.GetExecutingAssembly());
    }
}

我究竟做错了什么?

保罗