/// <summary> /// Use feature as microservice /// </summary> public FluentFeatureRegistrationService AsMicroService(MicroServiceConfiguration microServiceConfiguration) { _featureConfiguration.MicroServiceConfiguration = microServiceConfiguration; Register(createProxy: true); return(_fluentConfiguration); }
/// <summary> /// .Net core middleware registration extension /// </summary> /// <param name="app"></param> /// <param name="featureConfiguration"></param> /// <param name="microServiceConfiguration"></param> /// <returns></returns> public static IApplicationBuilder UseFeature(this IApplicationBuilder app, BaseFeatureConfiguration featureConfiguration, MicroServiceConfiguration microServiceConfiguration) { featureConfiguration.MicroServiceConfiguration = microServiceConfiguration; var mediator = new Mediator(featureConfiguration); return(app.Use(async(httpContext, next) => { if (!mediator.Dispatch(httpContext)) { await next(); } })); }
/// <summary> /// OWIN middleware registration extension /// </summary> /// <param name="app"></param> /// <param name="featureConfiguration"></param> /// <param name="microServiceConfiguration"></param> /// <returns></returns> public static IAppBuilder MapFeature(this IAppBuilder app, BaseFeatureConfiguration featureConfiguration, MicroServiceConfiguration microServiceConfiguration) { featureConfiguration.MicroServiceConfiguration = microServiceConfiguration; var mediator = new Mediator(featureConfiguration); return(app.Use(async(IOwinContext context, Func <Task> next) => { if (!mediator.Dispatch(HttpContext.Current)) { await next.Invoke(); } })); }