【问题标题】:ASP.NET Core 2 with EventFlow configuration带有 EventFlow 配置的 ASP.NET Core 2
【发布时间】:2018-11-14 22:31:23
【问题描述】:

EventFlow 关于如何在基于 dotnet core 1 的 dotnetcore 上进行配置的示例非常有限,但在 dotnet core 2 中发生了一些变化

有没有办法在没有 Autofac 的情况下使用 EventFlow 配置?

这里有讨论,最后的 cmets 和我在这里问的一样,但没有答案

https://github.com/eventflow/EventFlow/issues/158

基本上我想找到一种方法来使用 DI 中的构建来做一些类似的事情

services.AddEventFlowOptions.New...

var resolver = EventFlowOptions.New.UseDotnetCoreServices(services)...

或者……你们用过的其他什么东西?

【问题讨论】:

    标签: asp.net .net-core event-flow


    【解决方案1】:

    我用过它,它工作正常。它看起来是您将服务传递到 EventFlow 的 IoC AuotFac 并围绕它进行包装。

    如您所见,您照常使用已知的 ASP.NET Core API,您以相同的方式注入,而无需更改您的控制器等。

    我唯一改变的是 void ConfigureServicesIServiceProvider 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());
        }
    

    而且你需要使用包提供的一些MiddleWare

      public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
        {
            app.UseMiddleware<CommandPublishMiddleware>();
            app.UseMvcWithDefaultRoute();//or whatever you are doing
        }
    

    【讨论】:

    • 还需要Autofac.Extensions.DependencyInjection
    【解决方案2】:

    从提供的启动设置开始,我创建了一个simple web api solution,它与带有 .net core 2.2 的 EventFlow 集成。它使用来自源的相同命令/事件

    希望有帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-23
      • 1970-01-01
      • 2018-06-02
      • 1970-01-01
      • 2019-05-15
      • 2018-03-16
      • 2018-02-17
      • 2017-12-03
      相关资源
      最近更新 更多