.Net Core Localization在启动时无效

时间:2017-04-21 12:39:16

标签: c# .net azure asp.net-core

我的本​​地化问题一直存在。尝试了在线提供的各种解决方案,但没有人回答我的问题。

问题是我的本地化(ViewLocalization)没有在生产服务器上启动时加载。当我点击F5时,同一页面将重新加载Localization。

在我的开发机器上,当我在本地测试时,一切正常。有了这台机器,我推送到VSTS(git)并触发我的Azure,它构建和部署应用程序。

可能的原因:

  1. 找不到资源?看起来很奇怪,因为在F5之后本地化工作正常
  2. IIS问题?不,在本地完全加载本地化。
  3. Startup.cs有问题?看起来不错我猜:

        public Startup(IHostingEnvironment env)
        {
           // code omitted
        }
        public IConfigurationRoot Configuration { get; }
        public void ConfigureServices(IServiceCollection services)
        {
    
    
            services.AddMvc(config =>
            {
    
                config.ModelBinderProviders.Insert(0, new ScrubbingModelBinderProvider());
            }).AddViewLocalization(LanguageViewLocationExpanderFormat.Suffix).AddDataAnnotationsLocalization(); ;
    
            services.Configure<RequestLocalizationOptions>(opts =>
            {
                var supportedCultures = new[] {
                new CultureInfo("fr-FR"),
                new CultureInfo("nl-NL")
    
            };
                opts.DefaultRequestCulture = new RequestCulture("nl-NL");
                opts.FallBackToParentCultures = false;
                opts.FallBackToParentUICultures = false;
                opts.SupportedCultures = supportedCultures;
                opts.SupportedUICultures = supportedCultures;
                opts.RequestCultureProviders = new List<IRequestCultureProvider> {
                    new CookieRequestCultureProvider { CookieName = "_cultureFrigroAircoWebApp" },
                    new AcceptLanguageHeaderRequestCultureProvider { } };
            });
    
            services.AddLocalization(options => options.ResourcesPath = "Resources");
    
            // Add application services.
            // Services omitted
    
        }
        public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
        {
    
    
            loggerFactory.AddConsole(Configuration.GetSection("Logging"));
            loggerFactory.AddDebug();
    
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
                app.UseDatabaseErrorPage();
                app.UseBrowserLink();
            }
            else
            {
    
                app.UseExceptionHandler("/Shared/Error");
            }
    
            var options = app.ApplicationServices.GetService<IOptions<RequestLocalizationOptions>>();
    
            app.UseRequestLocalization(options.Value);
    
            app.UseIdentity();
            app.UseSession();          
            app.UseStaticFiles();       
    
           // routes omitted
    
        }
    
  4. Viewlocalizer未在启动时注入?似乎无法理解为什么它不起作用...我在_ViewImports.cshtml中使用“@inject IViewLocalizer Localizer”。

  5. 首次加载页面时未设置Cookie?我不认为这是这个问题。因为当同一网络上的某个人尝试使用webapp时,它可以正常运行(当有人尝试过之前)

  6. 我的web.config:

  7.     <globalization culture="auto:nl-NL" uiCulture="auto:nl-NL" enableClientBasedCulture="false" />

    我使用.NET Core:

      "sdk": {
        "version": "1.0.0-preview2-003131"
      }
    

    有谁知道我哪里出错了?或者有些想法正确的方向?

    谢谢您的时间!

    塞缪尔

0 个答案:

没有答案