Azure Functions 应用程序的项目级别文化设置

2024-01-20

是否可以在 Azure Functions App 上更改项目级别的文化?

https://learn.microsoft.com/en-us/azure/azure-functions/functions-app-settings https://learn.microsoft.com/en-us/azure/azure-functions/functions-app-settings

该应用程序使用消费计划或高级计划,而不是通过 ASP.NET Core。

My Startup.cs文件如下:

  public class Startup : FunctionsStartup
    {
        public override void Configure(IFunctionsHostBuilder builder)
        {
       }
}

可以基于不同的ASP.NET CoreStartup.cs not像上面一样使用消费计划还是高级计划?

Asp.net Core 必须使用如下所示的应用服务计划:https://andrewlock.net/adding-localization-to-an-asp-net-core-application/ https://andrewlock.net/adding-localisation-to-an-asp-net-core-application/


将服务器上运行的旧应用程序迁移到 Azure 时,您始终需要注意最初从计算机获取的时区和文化设置。对于 Azure Functions,您可以在应用程序设置中设置时区:

WEBSITE_TIME_ZONE=Europe/London

此处找到可能的值https://en.wikipedia.org/wiki/List_of_tz_database_time_zones https://en.wikipedia.org/wiki/List_of_tz_database_time_zones。这对于似乎在 Linux 上使用 TZ 和在 Windows 上使用 WEBSITE_TIME_ZONE 的应用服务来说实际上是不同的。

对于文化来说,情况更为复杂。使用aspnet core,您可以在Startup类的Configure中定义它

public void Configure(IApplicationBuilder app, IWebHostEnvironment env, 
ILoggerFactory loggerFactory)
    {
        var cultureInfo = new CultureInfo("en-US");
        app.UseRequestLocalization(new RequestLocalizationOptions
        {
            DefaultRequestCulture = new RequestCulture(cultureInfo),
            SupportedCultures = new List<CultureInfo>
            {
                cultureInfo,
            },
            SupportedUICultures = new List<CultureInfo>
            {
                cultureInfo,
            }
        });
    }

这在 Azure Function Apps 中是不可能的。您可以做的是创建一个安装类,然后设置应用程序域和当前线程的区域性。只要 Azure 不更改应用程序域,这可能就会起作用。

[assembly: FunctionsStartup(typeof(Startup))]
namespace FunctionApp
{
    public class Startup : IWebJobsStartup
    {
        public void Configure(IWebJobsBuilder app)
        {
            var cultureInfo = new CultureInfo("en-US");
            CultureInfo.DefaultThreadCurrentCulture = cultureInfo;
            CultureInfo.DefaultThreadCurrentUICulture = cultureInfo;
            Thread.CurrentThread.CurrentCulture = cultureInfo;
            Thread.CurrentThread.CurrentUICulture = cultureInfo;
        }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Azure Functions 应用程序的项目级别文化设置 的相关文章

随机推荐