ASP.NET 具有 EventFlow 配置的核心 2
ASP.NET Core 2 with EventFlow configuration
EventFlow 关于如何在基于 dotnet core 1 的 dotnetcore 上进行配置的示例非常有限,并且在 dotnet core 2 中发生了一些变化
有没有办法在没有 Autofac 的情况下使用 EventFlow 配置?
这里有讨论,最后的评论和我在这里问的是同一件事,但没有答案
https://github.com/eventflow/EventFlow/issues/158
基本上我想找到一种方法来使用 DI 中的构建来做一些事情
services.AddEventFlowOptions.New...
或
var resolver = EventFlowOptions.New.UseDotnetCoreServices(services)...
或者...你们还用过什么?
我用过这个,效果很好。它看起来像您将服务传递到 EventFlow 的 IoC AuotFac 中,它围绕着它。
如您所见,您像往常一样使用已知的 ASP.NET 核心 API,您以相同的方式注入,而无需更改您的控制器等
我唯一改变的是 void ConfigureServices
到 IServiceProvider ConfigureServices
- 我不确定这是否真的有影响,但它有效。
您将需要这些包
- EventFlow.Aspnetcore.Middlewares;
- EventFlow.AspNetCore.Extensions;
- EventFlow.Autofac.Extensions;
在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());
}
并且需要使用包提供的一些中间件
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
app.UseMiddleware<CommandPublishMiddleware>();
app.UseMvcWithDefaultRoute();//or whatever you are doing
}
根据提供的启动设置,我创建了一个 simple web api solution,它与带有 .net core 2.2 的 EventFlow 集成。它使用来自源
的相同commands/events
希望对您有所帮助!
EventFlow 关于如何在基于 dotnet core 1 的 dotnetcore 上进行配置的示例非常有限,并且在 dotnet core 2 中发生了一些变化
有没有办法在没有 Autofac 的情况下使用 EventFlow 配置?
这里有讨论,最后的评论和我在这里问的是同一件事,但没有答案
https://github.com/eventflow/EventFlow/issues/158
基本上我想找到一种方法来使用 DI 中的构建来做一些事情
services.AddEventFlowOptions.New...
或
var resolver = EventFlowOptions.New.UseDotnetCoreServices(services)...
或者...你们还用过什么?
我用过这个,效果很好。它看起来像您将服务传递到 EventFlow 的 IoC AuotFac 中,它围绕着它。
如您所见,您像往常一样使用已知的 ASP.NET 核心 API,您以相同的方式注入,而无需更改您的控制器等
我唯一改变的是 void ConfigureServices
到 IServiceProvider ConfigureServices
- 我不确定这是否真的有影响,但它有效。
您将需要这些包
- EventFlow.Aspnetcore.Middlewares;
- EventFlow.AspNetCore.Extensions;
- EventFlow.Autofac.Extensions;
在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());
}
并且需要使用包提供的一些中间件
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
app.UseMiddleware<CommandPublishMiddleware>();
app.UseMvcWithDefaultRoute();//or whatever you are doing
}
根据提供的启动设置,我创建了一个 simple web api solution,它与带有 .net core 2.2 的 EventFlow 集成。它使用来自源
的相同commands/events希望对您有所帮助!