EventFlow在如何配置基于dotnet核心1的dotnetcore上有一个非常有限的例子,但在dotnet core 2中有些变化,
有没有办法在没有Autofac的情况下使用EventFlow配置?
这里有讨论,最后的评论是关于我在这里问的同样的事情,但没有答案
https://github.com/eventflow/EventFlow/issues/158
基本上我想找到一种方法来使用DI中的构建来做一些像
这样的事情services.AddEventFlowOptions.New...
或
var resolver = EventFlowOptions.New.UseDotnetCoreServices(services)...
或......你们用过的其他任何东西?
答案 0 :(得分:4)
我用过它并且工作正常。它看起来像是将服务传递到EventFlow的IoC AuotFac并且它包含了它。
正如您所看到的,您可以像往常一样使用已知的ASP.NET Core API,您可以以相同的方式注入而无需更改Contollers等。
我唯一改变的是void ConfigureServices
到IServiceProvider ConfigureServices
- 我不确定这是否真的影响了它,但它有效。
您需要这些套餐
在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
}
答案 1 :(得分:2)
根据提供的启动安装程序,我创建了一个simple web api solution,它与带有.net core 2.2的EventFlow集成在一起。它使用来自源的相同命令/事件
希望有帮助!