我创建了.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());
}
}
我究竟做错了什么?
保罗