本文整理汇总了C#中IServiceCollection.AddLocalization方法的典型用法代码示例。如果您正苦于以下问题:C# IServiceCollection.AddLocalization方法的具体用法?C# IServiceCollection.AddLocalization怎么用?C# IServiceCollection.AddLocalization使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IServiceCollection
的用法示例。
在下文中一共展示了IServiceCollection.AddLocalization方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AddLocalizationServices
public static void AddLocalizationServices(
IServiceCollection services,
LanguageViewLocationExpanderFormat format,
Action<LocalizationOptions> setupAction)
{
AddMvcLocalizationServices(services, format, setupAction);
if (setupAction == null)
{
services.AddLocalization();
}
else
{
services.AddLocalization(setupAction);
}
}
示例2: ConfigureServices
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
// Add framework services.
services.AddEntityFramework()
.AddSqlServer()
.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(Configuration["Data:DefaultConnection:ConnectionString"]));
services.AddIdentity<ApplicationUser, IdentityRole>()
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders();
// Add MVC services to the services container.
services.AddLocalization(options => options.ResourcesPath = "Resources");
services
.AddMvc()
.AddViewLocalization(options => options.ResourcesPath = "Resources")
.AddDataAnnotationsLocalization();
services.AddScoped<LanguageCookieActionFilter>();
// Add application services.
services.AddTransient<IEmailSender, AuthMessageSender>();
services.AddTransient<ISmsSender, AuthMessageSender>();
}
示例3: ConfigureServices
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
// Add framework services.
services.AddEntityFramework()
.AddSqlServer()
.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(Configuration["Data:DefaultConnection:ConnectionString"]));
services.AddIdentity<ApplicationUser, IdentityRole>()
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders();
// Add the localization services to the services container
services.AddLocalization(options => options.ResourcesPath = "Resources");
services.AddMvc()
// Add support for finding localized views, based on file name suffix, e.g. Index.fr.cshtml
.AddViewLocalization(LanguageViewLocationExpanderFormat.Suffix)
// Add support for localizing strings in data annotations (e.g. validation messages) via the
// IStringLocalizer abstractions.
.AddDataAnnotationsLocalization();
// Add application services.
services.AddTransient<IEmailSender, AuthMessageSender>();
services.AddTransient<ISmsSender, AuthMessageSender>();
// Configure supported cultures and localization options
services.Configure<RequestLocalizationOptions>(options =>
{
var supportedCultures = new[]
{
new CultureInfo("en-US"),
new CultureInfo("fr")
};
// State what the default culture for your application is. This will be used if no specific culture
// can be determined for a given request.
options.DefaultRequestCulture = new RequestCulture(culture: "en-US", uiCulture: "en-US");
// You must explicitly state which cultures your application supports.
// These are the cultures the app supports for formatting numbers, dates, etc.
options.SupportedCultures = supportedCultures;
// These are the cultures the app supports for UI strings, i.e. we have localized resources for.
options.SupportedUICultures = supportedCultures;
// You can change which providers are configured to determine the culture for requests, or even add a custom
// provider with your own logic. The providers will be asked in order to provide a culture for each request,
// and the first to provide a non-null result that is in the configured supported cultures list will be used.
// By default, the following built-in providers are configured:
// - QueryStringRequestCultureProvider, sets culture via "culture" and "ui-culture" query string values, useful for testing
// - CookieRequestCultureProvider, sets culture via "ASPNET_CULTURE" cookie
// - AcceptLanguageHeaderRequestCultureProvider, sets culture via the "Accept-Language" request header
//options.RequestCultureProviders.Insert(0, new CustomRequestCultureProvider(async context =>
//{
// // My custom request culture logic
// return new ProviderCultureResult("en");
//}));
});
}
示例4: ConfigureServices
public void ConfigureServices(IServiceCollection services)
{
services.AddLocalization(options => options.ResourcesPath = "Resources");
services.AddMvc()
.AddViewLocalization()
.AddDataAnnotationsLocalization();
services.AddScoped<LanguageActionFilter>();
}
示例5: ConfigureServices
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
// Add localization with Resources file. OKL
services.AddLocalization(options => options.ResourcesPath = "Resources");
// Add framework services.
services.AddEntityFramework()
.AddSqlServer()
.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(Configuration["Data:DefaultConnection:ConnectionString"]))
.AddDbContext<IdentityDbContext>(opts => opts.UseSqlServer(Configuration["Data:DefaultConnection:ConnectionString"]));
// Configure identity options and password requirements. OKL
services.AddIdentity<ApplicationUser, IdentityRole>(o =>
{
o.Password.RequireDigit = false;
o.Password.RequireLowercase = false;
o.Password.RequireUppercase = false;
o.Password.RequireNonLetterOrDigit = false; ;
o.Password.RequiredLength = 6;
})
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders();
// Add authorization policy: only allow authenticated users. OKL
var defaultPolicy = new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.Build();
// Add MVC and enforce authorization policy from above. OKL
services.AddMvc(setup =>
{
setup.Filters.Add(new Microsoft.AspNet.Mvc.Filters.AuthorizeFilter(defaultPolicy));
})
// Add localization. OKL
.AddViewLocalization()
.AddDataAnnotationsLocalization();
; ;
// Add application services.
services.AddTransient<IEmailSender, AuthMessageSender>();
services.AddTransient<ISmsSender, AuthMessageSender>();
;
}
示例6: AddDataAnnotationsLocalizationServices
public static void AddDataAnnotationsLocalizationServices(
IServiceCollection services,
Action<MvcDataAnnotationsLocalizationOptions> setupAction)
{
services.AddLocalization();
if (setupAction != null)
{
services.Configure(setupAction);
}
else
{
services.TryAddEnumerable(
ServiceDescriptor.Transient
<IConfigureOptions<MvcDataAnnotationsLocalizationOptions>,
MvcDataAnnotationsLocalizationOptionsSetup>());
}
}
示例7: AddLocalizationServices
public static void AddLocalizationServices(
IServiceCollection services,
LanguageViewLocationExpanderFormat format,
Action<LocalizationOptions> setupAction)
{
services.Configure<RazorViewEngineOptions>(
options =>
{
options.ViewLocationExpanders.Add(new LanguageViewLocationExpander(format));
});
services.TryAdd(ServiceDescriptor.Singleton<IHtmlLocalizerFactory, HtmlLocalizerFactory>());
services.TryAdd(ServiceDescriptor.Transient(typeof(IHtmlLocalizer<>), typeof(HtmlLocalizer<>)));
services.TryAdd(ServiceDescriptor.Transient<IViewLocalizer, ViewLocalizer>());
if (!services.Any(sd => sd.ServiceType == typeof(IHtmlEncoder)))
{
services.TryAdd(ServiceDescriptor.Instance<IHtmlEncoder>(HtmlEncoder.Default));
}
services.AddLocalization(setupAction);
}
示例8: ConfigureServices
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
// Add framework services.
services.AddEntityFramework()
.AddSqlServer()
.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(Configuration["Data:DefaultConnection:ConnectionString"]));
services.AddIdentity<ApplicationUser, IdentityRole>()
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders();
services.AddLocalization(options => options.ResourcesPath = "resources");
services.AddMvc()
.AddViewLocalization(options => options.ResourcesPath = "Resources")
.AddDataAnnotationsLocalization();
services.AddSignalR();
//services.AddScoped<LanguageActionFilter>();
// Add application services.
services.AddTransient<IEmailSender, AuthMessageSender>();
services.AddTransient<ISmsSender, AuthMessageSender>();
services.AddTransient<MIT.CRM.Services.AppServices>();
services.AddTransient<IPrimavera, PrimaveraService>();
services.Configure<AppSettings>(Configuration.GetSection("AppSettings"));
}
示例9: ConfigureServices
public void ConfigureServices(IServiceCollection services)
{
services.AddLocalization();
}
示例10: ConfigureServices
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
// Add framework services.
services.AddDbContext<ForumSystemDbContext>(
options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
services.AddIdentity<User, IdentityRole>(options =>
{
options.Password.RequireDigit = false;
options.Password.RequiredLength = 6;
options.Password.RequireLowercase = false;
options.Password.RequireNonAlphanumeric = false;
options.Password.RequireUppercase = false;
})
.AddEntityFrameworkStores<ForumSystemDbContext>()
.AddDefaultTokenProviders();
services.AddTransient(typeof(IGenericRepository<>), typeof(GenericRepository<>));
services.AddTransient(typeof(IDeletableRepository<>), typeof(DeletableRepository<>));
services.AddTransient<DbContext, ForumSystemDbContext>();
services.AddTransient<SeedData>();
services.AddTransient<ICategoriesService, CategoriesService>();
services.AddTransient<IImagesService, ImagesService>();
services.AddTransient<IPostsService, PostsService>();
services.AddTransient<ISubCategoriesService, SubCategoriesService>();
services.AddTransient<IThreadsService, ThreadsService>();
services.AddTransient<IUsersService, UsersService>();
services.AddTransient<IMenusService, MenusService>();
services.AddTransient<IMenuItemsService, MenuItemsService>();
services.AddTransient<ISessionManager, SessionManager>();
services.AddTransient<ILanguageService, LanguageService>();
services.AddScoped<IUserManager, UserManager>();
services.AddTransient<ICommonControllerData, CommonControllerData>();
services.AddLocalization(options => options.ResourcesPath = "Resources");
services.AddMvc()
.AddViewLocalization(LanguageViewLocationExpanderFormat.Suffix)
.AddDataAnnotationsLocalization();
services.AddMemoryCache();
services.AddSession();
}
示例11: ConfigureServices
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
// Add framework services.
var sqlLoggerFactory = new LoggerFactory();
sqlLoggerFactory.AddConsole(Configuration.GetSection("SqlLogging"));
var entityFramework = services;
if (WebAppConfiguration.TDataBaseServerType == Message.TDataBaseServerType.PostgreSQL)
{
entityFramework = entityFramework.AddEntityFrameworkNpgsql().AddDbContext<ApplicationDbContext>(options =>
options.UseNpgsql(WebAppConfiguration.DatabaseConnectionString).UseLoggerFactory(sqlLoggerFactory));
}
else if (WebAppConfiguration.TDataBaseServerType == Message.TDataBaseServerType.SqlServer)
{
entityFramework = entityFramework.AddEntityFrameworkSqlServer().AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(WebAppConfiguration.DatabaseConnectionString).UseLoggerFactory(sqlLoggerFactory));
}
else
_logger.LogError("Unknown database connection type");
services.AddIdentity<ApplicationUser, IdentityRole>(
o => {
o.Password.RequireDigit = false;
o.Password.RequireLowercase = false;
o.Password.RequireUppercase = false;
o.Password.RequireNonAlphanumeric = false;
o.Password.RequiredLength = 6;
}).AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders();
//Link my own Localizer
services.AddSingleton<IStringLocalizerFactory, StringLocalizerFactory>();
services.AddLocalization(options => options.ResourcesPath = "Resources");
services.Configure<IdentityOptions>(options =>
{
options.Cookies.ApplicationCookie.ExpireTimeSpan = TimeSpan.FromDays(10);
options.Cookies.ApplicationCookie.LoginPath = new Microsoft.AspNetCore.Http.PathString("/Site/Account/Login");
options.Cookies.ApplicationCookie.Events = new CookieAuthenticationEvents
{
OnRedirectToAccessDenied = ctx => {
if (ctx.Request.Path.StartsWithSegments("/api"))
{
ctx.Response.StatusCode = 403;
}
else
{
ctx.Response.Redirect(ctx.RedirectUri);
}
return Task.FromResult(0);
},
OnRedirectToLogin = ctx => {
if (ctx.Request.Path.StartsWithSegments("/api") && ctx.Response.StatusCode == 200)
{
ctx.Response.StatusCode = 401;
}
else
{
ctx.Response.Redirect(ctx.RedirectUri);
}
return Task.FromResult(0);
},
};
});
/*
services.Configure<CookieAuthenticationOptions>(opt =>
{
opt.AccessDeniedPath = "/Site/Home/Index";
opt.LogoutPath = "/Site/Account/Login";
opt.LoginPath = "/Site/Account/Login";
});
*/
services.AddMvc().AddViewLocalization(options => options.ResourcesPath = "Resources").AddDataAnnotationsLocalization();
services.AddAuthorization(options =>
{
options.AddPolicy("AllowLocalhost",
policy => policy.Requirements.Add(new LoopBackAuthorizeRequirement()));
});
services.AddSingleton<IAuthorizationHandler, LoopBackAuthorizeHandler>();
//Add service for manage cache data
services.AddMemoryCache();
// Add application services.
services.AddTransient<IEmailSender, AuthMessageSender>();
services.AddTransient<ISmsSender, AuthMessageSender>();
ConfigureServiceDataLayer(services);
services.Configure<RequestLocalizationOptions>(options =>
{
DefineLocalization(options);
});
WebAppConfiguration.ServiceProvider = services.BuildServiceProvider();
//.........这里部分代码省略.........
示例12: ConfigureServices
public void ConfigureServices(IServiceCollection services)
{
services.Configure<AppSettings>(Configuration.GetSection("AppSettings"));
/// Database setting
/// at this moment have 3 variant
/// Postgres(currently not work on core 5)
/// Sqlite
/// SqlServer
switch (Configuration["Data:DbName"])
{
/*
case "Postgres":
var host = Configuration["Data:dbPostgres:Host"];
var username = Configuration["Data:dbPostgres:Username"];
var password = Configuration["Data:dbPostgres:Password"];
var database = Configuration["Data:dbPostgres:Database"];
var connectPostgres = host + username + password + database;
services.AddEntityFramework()
.AddNpgsql()
.AddDbContext<MainDbContext>(options =>
options.UseNpgsql(connectPostgres));
break;
*/
case "Sqlite":
var appEnv = CallContextServiceLocator.Locator.ServiceProvider
.GetRequiredService<IApplicationEnvironment>();
///defoult db file path /Database/weebdoDb.db
services.AddEntityFramework()
.AddSqlite()
.AddDbContext<MainDbContext>(options =>
options.UseSqlite($"Data Source=" + appEnv.ApplicationBasePath + Configuration["Data:dbSqlite:Path"]));
break;
default:
services.AddEntityFramework()
.AddSqlServer()
.AddDbContext<MainDbContext>(options =>
options.UseSqlServer(Configuration["Data:dbSqlServer:ConnectionString"]));
break;
}
// Add Identity services to the services container.
services.AddIdentity<WeebDoCmfUser, IdentityRole>(options =>
{
options.Cookies.ApplicationCookie.LoginPath = "/wdadmin/Account/Login";
})
.AddEntityFrameworkStores<MainDbContext>()
.AddDefaultTokenProviders();
services.AddCors(options =>
{
options.AddPolicy("CorsPolicy", builder =>
{
builder.WithOrigins("http://example.com");
});
});
services.AddLocalization();
// Add MVC services to the services container.
services.AddMvc()
.AddViewLocalization()
.AddJsonOptions(options =>
{
options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
});
// Add memory cache services
services.AddCaching();
// Add session related services.
services.AddSession();
//add services
// Example: services.AddTransient<ITestService, TestService>();
services.AddScoped<ITRepository, TRepository>();
services.AddTransient<IStringLocalizerFactory, WDStringLocalizerFactory>();
// Configure Auth
services.AddAuthorization(options =>
{
options.AddPolicy(
"ManageAdminPanel",
authBuilder =>
{
authBuilder.RequireClaim("ManageAdminPanel", "Allowed");
});
});
}
示例13: ConfigureServices
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
// since we are protecting some data such as social auth secrets in the db
// we need our data protection keys to be located on disk where we can find them if
// we need to move to different hosting, without those key on the new host it would not be possible to decrypt
// but it is perhaps a little risky storing these keys below the appRoot folder
// for your own production envrionments store them outside of that if possible
string pathToCryptoKeys = Path.Combine(environment.ContentRootPath, "dp_keys");
services.AddDataProtection()
.PersistKeysToFileSystem(new System.IO.DirectoryInfo(pathToCryptoKeys));
// waiting for RTM compatible glimpse
//bool enableGlimpse = Configuration.GetValue("DiagnosticOptions:EnableGlimpse", false);
//if (enableGlimpse)
//{
// services.AddGlimpse();
//}
services.Configure<ForwardedHeadersOptions>(options =>
{
options.ForwardedHeaders = Microsoft.AspNetCore.HttpOverrides.ForwardedHeaders.XForwardedProto;
});
services.AddMemoryCache();
// we currently only use session for alerts, so we can fire an alert on the next request
// if session is disabled this feature fails quietly with no errors
services.AddSession();
// add authorization policies
ConfigureAuthPolicy(services);
services.AddOptions();
/* optional and only needed if you are using cloudscribe Logging */
//services.AddCloudscribeLoggingNoDbStorage(Configuration);
services.AddCloudscribeLogging();
/* these are optional and only needed if using cloudscribe Setup */
//services.Configure<SetupOptions>(Configuration.GetSection("SetupOptions"));
//services.AddScoped<SetupManager, SetupManager>();
//services.AddScoped<IVersionProvider, SetupVersionProvider>();
//services.AddScoped<IVersionProvider, CloudscribeLoggingVersionProvider>();
/* end cloudscribe Setup */
//services.AddSingleton<IThemeListBuilder, SharedThemeListBuilder>();
services.AddCloudscribeCore(Configuration);
services.Configure<GlobalResourceOptions>(Configuration.GetSection("GlobalResourceOptions"));
services.AddSingleton<IStringLocalizerFactory, GlobalResourceManagerStringLocalizerFactory>();
services.AddLocalization(options => options.ResourcesPath = "GlobalResources");
services.Configure<RequestLocalizationOptions>(options =>
{
var supportedCultures = new[]
{
new CultureInfo("en-US"),
new CultureInfo("en-GB"),
new CultureInfo("cy-GB"),
new CultureInfo("cy"),
new CultureInfo("fr-FR"),
new CultureInfo("fr"),
};
// State what the default culture for your application is. This will be used if no specific culture
// can be determined for a given request.
options.DefaultRequestCulture = new RequestCulture(culture: "en-US", uiCulture: "en-US");
// You must explicitly state which cultures your application supports.
// These are the cultures the app supports for formatting numbers, dates, etc.
options.SupportedCultures = supportedCultures;
// These are the cultures the app supports for UI strings, i.e. we have localized resources for.
options.SupportedUICultures = supportedCultures;
// You can change which providers are configured to determine the culture for requests, or even add a custom
// provider with your own logic. The providers will be asked in order to provide a culture for each request,
// and the first to provide a non-null result that is in the configured supported cultures list will be used.
// By default, the following built-in providers are configured:
// - QueryStringRequestCultureProvider, sets culture via "culture" and "ui-culture" query string values, useful for testing
// - CookieRequestCultureProvider, sets culture via "ASPNET_CULTURE" cookie
// - AcceptLanguageHeaderRequestCultureProvider, sets culture via the "Accept-Language" request header
//options.RequestCultureProviders.Insert(0, new CustomRequestCultureProvider(async context =>
//{
// // My custom request culture logic
// return new ProviderCultureResult("en");
//}));
});
services.AddRouting(options =>
{
options.LowercaseUrls = true;
});
services.Configure<MvcOptions>(options =>
{
options.Filters.Add(new RequireHttpsAttribute());
//.........这里部分代码省略.........
示例14: ConfigureServices
// This method gets called by the runtime. Use this method to add services to the container.
public IServiceProvider ConfigureServices(IServiceCollection services)
{
//Add CORS support.
// Must be first to avoid OPTIONS issues when calling from Angular/Browser
var corsBuilder = new CorsPolicyBuilder();
corsBuilder.AllowAnyHeader();
corsBuilder.AllowAnyMethod();
corsBuilder.AllowAnyOrigin();
corsBuilder.AllowCredentials();
services.AddCors(options =>
{
options.AddPolicy("allReady", corsBuilder.Build());
});
// Add Application Insights data collection services to the services container.
services.AddApplicationInsightsTelemetry(Configuration);
// Add Entity Framework services to the services container.
services.AddDbContext<AllReadyContext>(options => options.UseSqlServer(Configuration["Data:DefaultConnection:ConnectionString"]));
services.Configure<AzureStorageSettings>(Configuration.GetSection("Data:Storage"));
services.Configure<DatabaseSettings>(Configuration.GetSection("Data:DefaultConnection"));
services.Configure<EmailSettings>(Configuration.GetSection("Email"));
services.Configure<SampleDataSettings>(Configuration.GetSection("SampleData"));
services.Configure<GeneralSettings>(Configuration.GetSection("General"));
services.Configure<GetASmokeAlarmApiSettings>(Configuration.GetSection("GetASmokeAlarmApiSettings"));
services.Configure<TwitterAuthenticationSettings>(Configuration.GetSection("Authentication:Twitter"));
services.Configure<MappingSettings>(Configuration.GetSection("Mapping"));
// Add Identity services to the services container.
services.AddIdentity<ApplicationUser, IdentityRole>(options =>
{
options.Password.RequiredLength = 10;
options.Password.RequireNonAlphanumeric = false;
options.Password.RequireDigit = true;
options.Password.RequireUppercase = false;
options.Cookies.ApplicationCookie.AccessDeniedPath = new PathString("/Home/AccessDenied");
})
.AddEntityFrameworkStores<AllReadyContext>()
.AddDefaultTokenProviders();
// Add Authorization rules for the app
services.AddAuthorization(options =>
{
options.AddPolicy("OrgAdmin", b => b.RequireClaim(Security.ClaimTypes.UserType, "OrgAdmin", "SiteAdmin"));
options.AddPolicy("SiteAdmin", b => b.RequireClaim(Security.ClaimTypes.UserType, "SiteAdmin"));
});
services.AddLocalization();
//Currently AllReady only supports en-US culture. This forces datetime and number formats to the en-US culture regardless of local culture
var usCulture = new CultureInfo("en-US");
var supportedCultures = new[] { usCulture };
services.Configure<RequestLocalizationOptions>(options =>
{
options.DefaultRequestCulture = new RequestCulture(usCulture, usCulture);
options.SupportedCultures = supportedCultures;
options.SupportedUICultures = supportedCultures;
});
// Add MVC services to the services container.
// config add to get passed Angular failing on Options request when logging in.
services.AddMvc(config =>
{
config.ModelBinderProviders.Insert(0, new AdjustToTimezoneModelBinderProvider());
})
.AddJsonOptions(options =>
options.SerializerSettings.ContractResolver = new DefaultContractResolver());
//Hangfire
services.AddHangfire(configuration => configuration.UseSqlServerStorage(Configuration["Data:HangfireConnection:ConnectionString"]));
// configure IoC support
var container = CreateIoCContainer(services);
return container.Resolve<IServiceProvider>();
}
示例15: ConfigureServices
public void ConfigureServices(IServiceCollection services)
{
services.AddLocalization(options => options.ResourcesPath = "My/Resources");
}