コード例 #1
0
        /// <summary>
        ///
        /// </summary>
        /// <typeparam name="TValidationProvider"></typeparam>
        /// <param name="registration"></param>
        /// <returns></returns>
        public static ApiRegistration AddValidationProvider <TValidationProvider>(this ApiRegistration registration)
            where TValidationProvider : class, IValidationProvider
        {
            registration.Services.AddScoped <IValidationProvider, TValidationProvider>();

            return(registration);
        }
コード例 #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="services"></param>
        /// <param name="configureApis"></param>
        /// <returns></returns>
        public static IServiceCollection AddSignalApi(this IServiceCollection services,
                                                      Action <ApiRegistration> configureApis)
        {
            if (configureApis == null)
            {
                throw new ArgumentNullException(nameof(configureApis));
            }

            var apiRegistration = new ApiRegistration(services);

            configureApis.Invoke(apiRegistration);

            services
            .AddSingleton(apiRegistration)
            .AddScoped <IAuthenticationProvider, DefaultAuthenticationProvider>()
            .AddScoped <IAuthorizationProvider, DefaultAuthorizationProvider>();

            return(services);
        }
コード例 #3
0
        /// <summary>
        ///
        /// </summary>
        /// <typeparam name="TAuthorizationProvider"></typeparam>
        /// <param name="registration"></param>
        /// <returns></returns>
        public static ApiRegistration AddAuthorizationProvider <TAuthorizationProvider>(this ApiRegistration registration)
            where TAuthorizationProvider : class, IAuthorizationProvider
        {
            registration.Services.AddScoped <IAuthorizationProvider, TAuthorizationProvider>();

            return(registration);
        }
コード例 #4
0
        /// <summary>
        ///
        /// </summary>
        /// <typeparam name="TClass"></typeparam>
        /// <param name="registration"></param>
        /// <returns></returns>
        public static ApiRegistration AddFluentValidationFromAssemblyByClass <TClass>(this ApiRegistration registration)
        {
            registration.Services.AddValidatorsFromAssemblyContaining <TClass>();

            return(registration);
        }