public static IMediatorBuilder UseLog4Net(this IMediatorBuilder builder) { builder.WithRequestDecorator("Log4Net", typeof(LoggingRequestHandler <,>)); builder.WithRequestDecorator("Log4NetAsync", typeof(AsyncLoggingRequestHandler <,>)); return(builder); }
public static IMediatorBuilder UseFluentValidation(this IMediatorBuilder builder) { builder.WithRequestDecorator("FluentValidation", typeof(ValidationRequestHandler <,>)); builder.WithRequestDecorator("FluentValidationAsync", typeof(AsyncValidationRequestHandler <,>)); return(builder); }
/// <summary> /// 添加Orleans Silo /// </summary> /// <param name="builder"></param> /// <returns></returns> public static IMediatorBuilder AddMediatorOrleansSilo(this IMediatorBuilder builder) { var identitys = new Dictionary <string, Assembly>(); builder.Descriptors.ForEach(descriptor => { var identity = Utility.GetIdentity(descriptor.CommandType); if (!identitys.ContainsKey(identity)) { identitys.Add(identity, descriptor.CommandType.Assembly); } }); builder.Services.AddOptions <OrleansOptions>() .Bind(OrleansOptions.Option) .PostConfigure(options => { foreach (var kv in identitys) { options.GrainNames.TryAdd(kv.Key, kv.Value); } }); builder.AddMediatorOrleans() .Services.TryAddSingleton <ISiloFactory, SiloFactory>(); return(builder); }
/// <summary> /// /// </summary> /// <param name="builder"></param> /// <returns></returns> private static IMediatorBuilder AddMediatorOrleans(this IMediatorBuilder builder) { builder.Services.AddNlogLogger() .AddMicrosoftLogging() .AddOptions <OrleansOptions>() .Bind(OrleansOptions.Option) .Services .TryAddSingleton <IGrainCommandHandler, GrainCommandHandler>(); return(builder); }
public AsyncPipeline(IMediatorBuilder mediatorBuilder) { _mediatorBuilder = mediatorBuilder; _methods = new MethodCollection <Method <Func <object, object, Task> > > (); _direct = null !; }
public Pipeline(IMediatorBuilder mediatorBuilder) { _mediatorBuilder = mediatorBuilder; _methods = new MethodCollection <Method <Action <object, object> > > (); _direct = null !; }
public void ConfigureMediatorServices(IMediatorBuilder mediatorBuilder) { mediatorBuilder.Services.AddOptions <ActivityExecutionConfigurationOptions>().Configure((cfg) => { cfg.RedirectUrlBase = "~/"; }); }
public PipelineBuilder(IMediatorBuilder mediatorBuilder) { _mediatorBuilder = mediatorBuilder; }
public CancellablePipeline(IMediatorBuilder mediatorBuilder) { _mediatorBuilder = mediatorBuilder; _methods = new MethodCollection <Method <Func <object, object, CancellationToken, Task> > > (); _direct = null !; }
/// <summary> /// 添加Orleans Client /// </summary> /// <param name="builder"></param> /// <returns></returns> public static IMediatorBuilder AddMediatorOrleansClient(this IMediatorBuilder builder) { builder.AddMediatorOrleans() .Services.TryAddSingleton <IProxyCommandHandlerProvider, ProxyCommandHandlerProvider>(); return(builder); }
/// <summary> /// 添加对<seealso cref="IMediator"/>Proxy实现 /// </summary> /// <param name="builder"></param> /// <returns></returns> public static IMediatorBuilder AddMediatorOrleansProxy(this IMediatorBuilder builder) { return(builder.AddMediatorOrleansSilo() .AddMediatorOrleansClient()); }