我已经创建了.NET Core控制台应用程序,打算在其中托管Web api,并使用TopShelf将其包装在Windows服务中
我的Web前端中有一个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());
}
}
我在做什么错了?
保罗