/// <summary>
            /// Use feature as microservice
            /// </summary>
            public FluentFeatureRegistrationService AsMicroService(MicroServiceConfiguration microServiceConfiguration)
            {
                _featureConfiguration.MicroServiceConfiguration = microServiceConfiguration;

                Register(createProxy: true);

                return(_fluentConfiguration);
            }
Example #2
0
        /// <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();
                }
            }));
        }
Example #3
0
        /// <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();
                }
            }));
        }