コード例 #1
0
 private static void RegisterPostBuiltAction(this AutofacServiceCollection services)
 {
     services.AddPostRegisterAction("AfterBuild", builder =>
                                    builder.RegisterBuildCallback(container => {
         StaticInstanceForILanguageServiceProvider.SetInstance(container.Resolve <ILanguageServiceProvider>());
         StaticInstanceForTextProvider.SetInstance(container.Resolve <ITextProvider>());
         StaticFlag.HasInit             = true;
         StaticFlag.ExpectedServiceName = "AutofacImpl";
     }));
 }
コード例 #2
0
 /// <summary>
 /// Add Cosmos I18N
 /// </summary>
 /// <param name="builder"></param>
 /// <param name="config"></param>
 /// <returns></returns>
 public static IHostBuilder AddCosmosLocalization(this IHostBuilder builder, Action <II18NServiceCollection> config = null)
 {
     if (builder is null)
     {
         throw new ArgumentNullException(nameof(builder));
     }
     builder.ConfigureServices((ctx, services) => services.RegisterCode());
     builder.ConfigureContainer <IServiceProvider>((ctx, resolver) => {
         StaticInstanceForILanguageServiceProvider.SetInstance(resolver.GetRequiredService <ILanguageServiceProvider>());
         StaticInstanceForTextProvider.SetInstance(resolver.GetRequiredService <ITextProvider>());
     });
     return(builder);
 }
コード例 #3
0
        /// <summary>
        /// Use cosmos localization
        /// </summary>
        /// <param name="builder"></param>
        /// <returns></returns>
        public static IApplicationBuilder UseCosmosLocalization(this IApplicationBuilder builder)
        {
            if (builder is null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            var resolver = builder.ApplicationServices;

            StaticInstanceForILanguageServiceProvider.SetInstance(resolver.GetRequiredService <ILanguageServiceProvider>());
            StaticInstanceForTextProvider.SetInstance(resolver.GetRequiredService <ITextProvider>());

            return(builder);
        }
コード例 #4
0
 private static void UpdateStaticResolver(IServiceProvider resolver)
 {
     StaticInstanceForILanguageServiceProvider.SetInstance(resolver.GetRequiredService <ILanguageServiceProvider>());
     StaticInstanceForTextProvider.SetInstance(resolver.GetRequiredService <ITextProvider>());
 }