コード例 #1
0
 /// <summary>
 /// Add repository
 /// </summary>
 /// <param name="services"></param>
 /// <typeparam name="TService"></typeparam>
 /// <returns></returns>
 public static IServiceCollection AddCosmosRepository <TService>(this IServiceCollection services)
     where TService : class, IRepository
 {
     using var register = new MicrosoftProxyRegister(services);
     register.RegisterRepository <TService>();
     return(services);
 }
コード例 #2
0
        /// <summary>
        /// Add Cosmos Stack Validation Support
        /// </summary>
        /// <param name="services"></param>
        /// <returns></returns>
        public static IServiceCollection AddCosmosValidation(this IServiceCollection services)
        {
            using var register = new MicrosoftProxyRegister(services);
            register.RegisterValidation();

            return(services);
        }
コード例 #3
0
        /// <summary>
        /// Add CosmosStack FileType Sniffer Support
        /// </summary>
        /// <param name="services"></param>
        /// <param name="configure"></param>
        /// <returns></returns>
        public static IServiceCollection AddCosmosFileTypeSniffer(this IServiceCollection services, Action <FileTypeSnifferOptions> configure = null)
        {
            using (var register = new MicrosoftProxyRegister(services))
            {
                register.AddFileTypeSniffer(configure);
            }

            return(services);
        }
コード例 #4
0
        internal ZkWebLogServiceCollection()
        {
            _configurationBuilder             = new LoggingConfigurationBuilder();
            _configurationBuilderLockedStatus = false;
            _services     = new MicrosoftProxyRegister(new ServiceCollection());
            _settings     = new LoggingOptions();
            _sinkSettings = new Dictionary <string, ILoggingSinkOptions>();
            _additionalEnricherProviders = new List <Func <ILogEventEnricher> >();

            BeGivenConfigurationBuilder = _configurationBuilder.InitializedByGivenBuilder;
            BeGivenConfigurationRoot    = false;
        }
コード例 #5
0
        internal ConsoleLogServiceCollection(IServiceCollection services, IConfigurationRoot root)
        {
            _configurationBuilder             = new DisabledConfigurationBuilder(root);
            _configurationBuilderLockedStatus = true;
            _services     = new MicrosoftProxyRegister(services ?? throw new ArgumentNullException(nameof(services)));
            _settings     = new LoggingOptions();
            _sinkSettings = new Dictionary <string, ILoggingSinkOptions>();
            _additionalEnricherProviders = new List <Func <ILogEventEnricher> >();

            BeGivenConfigurationBuilder = _configurationBuilder.InitializedByGivenBuilder;
            BeGivenConfigurationRoot    = true;
        }
コード例 #6
0
        public void ProxyTest()
        {
            var services = new ServiceCollection();

            using (var proxy = new MicrosoftProxyRegister(services))
            {
                proxy.AddSingleton <IJiu, RealJiu>();
                proxy.AddSingleton <INice, AppleNice>();
                proxy.AddSingleton <INice, BananaNice>();
                proxy.AddSingleton <INice, CarNice>(r => new CarNice(r.Resolve <IJiu>()));
            }

            var container = services.BuildServiceProvider();

            var resolver = new MicrosoftServiceResolver(container);

            var instances0 = resolver.ResolveMany <INice>();

            instances0.Count().ShouldBe(3);

            var instances1 = resolver.ResolveMany(typeof(INice));

            instances1.Count().ShouldBe(3);
        }
コード例 #7
0
 /// <summary>
 /// I18N service collection
 /// </summary>
 /// <param name="services"></param>
 /// <param name="options"></param>
 public StandardI18NServiceCollection(IServiceCollection services = null, I18NOptions options = null)
 {
     _services           = new MicrosoftProxyRegister(services ?? new ServiceCollection());
     _options            = I18NOptions.Create(options);
     _translationManager = new TranslationManager();
 }
コード例 #8
0
 /// <summary>
 /// Add Cosmos Data Service
 /// </summary>
 /// <param name="services"></param>
 /// <param name="configure"></param>
 /// <returns></returns>
 public static IServiceCollection AddCosmosDataService(this IServiceCollection services, Action <DbContextConfig <MicrosoftProxyRegister> > configure = null)
 {
     using var register = new MicrosoftProxyRegister(services);
     register.RegisterDataService(configure);
     return(services);
 }
コード例 #9
0
        /// <summary>
        /// Add Cosmos.I18N
        /// </summary>
        /// <param name="services"></param>
        /// <param name="optionAct"></param>
        /// <returns></returns>
        /// <exception cref="ArgumentNullException"></exception>
        public static II18NServiceCollection AddInternationalizationService(this IServiceCollection services, Action <I18NOptions> optionAct = null)
        {
            var register = new MicrosoftProxyRegister(services);

            return(register.AddInternationalizationService <MicrosoftProxyRegister, IServiceCollection>(optionAct));
        }