示例#1
0
    /// <summary>
    /// Uses the Autofac.
    /// </summary>
    /// <param name="builder">The builder.</param>
    /// <param name="delegate">The container.</param>
    /// <returns>IHostBuilder.</returns>
    public static ConventionContextBuilder ConfigureAutofac(this ConventionContextBuilder builder, Action <ContainerBuilder> @delegate)
    {
        if (builder == null)
        {
            throw new ArgumentNullException(nameof(builder));
        }

        builder.AppendDelegate(new AutofacConvention((context, configuration, services, container) => @delegate(container)));
        return(builder);
    }
示例#2
0
    /// <summary>
    /// Uses the Autofac.
    /// </summary>
    /// <param name="builder">The builder.</param>
    /// <param name="delegate">The container.</param>
    /// <returns>IHostBuilder.</returns>
    public static ConventionContextBuilder ConfigureAutofac(this ConventionContextBuilder builder, AutofacConvention @delegate)
    {
        if (builder == null)
        {
            throw new ArgumentNullException(nameof(builder));
        }

        builder.AppendDelegate(@delegate);
        return(builder);
    }
        /// <summary>
        /// Uses the DryIoc.
        /// </summary>
        /// <param name="builder">The builder.</param>
        /// <param name="delegate">The container.</param>
        /// <returns>IHostBuilder.</returns>
        public static ConventionContextBuilder ConfigureDryIoc([NotNull] this ConventionContextBuilder builder, Func <IServiceCollection, IContainer, IContainer> @delegate)
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            builder.AppendDelegate(new DryIocConvention((context, configuration, services, container) => @delegate(services, container)));
            return(builder);
        }
    /// <summary>
    ///     Configure the serilog delegate to the convention scanner
    /// </summary>
    /// <param name="container">The container.</param>
    /// <param name="delegate">The delegate.</param>
    /// <returns>IConventionHostBuilder.</returns>
    public static ConventionContextBuilder ConfigureOpenTelemetryTracing(this ConventionContextBuilder container, OpenTelemetryTracingConvention @delegate)
    {
        if (container == null)
        {
            throw new ArgumentNullException(nameof(container));
        }

        if (@delegate == null)
        {
            throw new ArgumentNullException(nameof(@delegate));
        }

        container.AppendDelegate(@delegate);
        return(container);
    }
        /// <summary>
        /// Configure the serilog delegate to the convention scanner
        /// </summary>
        /// <param name="builder">The builder.</param>
        /// <param name="delegate">The delegate.</param>
        /// <returns>IHostBuilder.</returns>
        public static ConventionContextBuilder ConfigureSerilog(
            [NotNull] this ConventionContextBuilder builder,
            [NotNull] Action <LoggerConfiguration> @delegate
            )
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            if (@delegate == null)
            {
                throw new ArgumentNullException(nameof(@delegate));
            }

            return(builder.AppendDelegate(new SerilogConvention((_, _, loggerConfiguration) => @delegate(loggerConfiguration))));
        }
        /// <summary>
        /// Configure the serilog delegate to the convention scanner
        /// </summary>
        /// <param name="builder">The builder.</param>
        /// <param name="delegate">The delegate.</param>
        /// <returns>IHostBuilder.</returns>
        public static ConventionContextBuilder ConfigureSerilog(
            [NotNull] this ConventionContextBuilder builder,
            [NotNull] SerilogConvention @delegate
            )
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            if (@delegate == null)
            {
                throw new ArgumentNullException(nameof(@delegate));
            }

            return(builder.AppendDelegate(@delegate));
        }