Я использовал это, и он работает нормально.На что это похоже, так это то, что вы передаете сервисы в IoC AuotFac EventFlow, и это оборачивается вокруг этого.
Как вы можете видеть, вы используете известный ASP.NET Core API как обычно, вы вводите тем же способом без изменений в своих контроллерах и т. Д.
Единственное, что я изменил, было void ConfigureServices
на IServiceProvider ConfigureServices
- я не уверен, влияет ли это на что-то, но это работает.
Вам понадобятся эти пакеты
- EventFlow.Aspnetcore.Middlewares;
- EventFlow.AspNetCore.Extensions;
- EventFlow.Autofac.Extensions;
In Startup.cs
public IServiceProvider ConfigureServices(IServiceCollection services)
{
services.AddMvc();
var containerBuilder = new ContainerBuilder();
var container = EventFlowOptions.New
.UseAutofacContainerBuilder(containerBuilder)
.AddDefaults(EventFlowTestHelpers.Assembly)
.AddAspNetCoreMetadataProviders();
containerBuilder.Populate(services);
return new AutofacServiceProvider(containerBuilder.Build());
}
, и вам необходимо использовать некоторое MiddleWare, предоставленноепакет
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
app.UseMiddleware<CommandPublishMiddleware>();
app.UseMvcWithDefaultRoute();//or whatever you are doing
}