Autofac не удалось разрешить UseWebApi или UseAutofacWebApi в приложении .NET Core 2.1. - PullRequest
0 голосов
/ 10 декабря 2018

Я создал консольное приложение .NET Core, в котором я собираюсь разместить веб-API и обернуть его в Windows Service с помощью TopShelf

У меня есть веб-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());
    }
}

Что я делаю не так?

Пол

...