ASP.Net Core,基于子域设置当前文化?

时间:2017-03-08 22:29:00

标签: asp.net-core asp.net-core-mvc

我正在尝试弄清楚如何根据ASP.Net Core 1.1中的子域设置网站文化。

我的 Startup.cs

中有以下内容
services.Configure<RequestLocalizationOptions>(options =>
{
    var supportedCultures = new List<CultureInfo>
    {
        new CultureInfo("en-US"),
        new CultureInfo("fil-PH")
    };

    options.DefaultRequestCulture = new RequestCulture(culture: "en-US", uiCulture: "en-US");
    options.SupportedCultures = supportedCultures;
    options.SupportedUICultures = supportedCultures;
    if (UrlManagement.IsLocalizedUrl())
    {
        options.RequestCultureProviders.Insert(0, new CustomRequestCultureProvider(async context =>
        {
                CultureInfo cultureInfo = UrlManagement.GetCultureInfoFromUrl();
            ProviderCultureResult providerCultureResult = await new ProviderCultureResult(cultureInfo.Name);
            return providerCultureResult;
        }));
    }
});

它在构建时抱怨此错误。

  

'ProviderCultureResult'不包含'GetAwaiter'的定义   没有扩展方法'GetAwaiter'接受第一个参数   类型'ProviderCultureResult'可以找到(你错过了使用   指令或程序集引用?)

如果我删除await,那么它会抱怨我应该等待。

如果我删除了异步,那么它会抱怨它应该是异步的。

1 个答案:

答案 0 :(得分:1)

  

如果我删除await,那么它会抱怨我应该等待。

没有。它警告您,async函数没有任何await并且会同步运行。这不是错误。你可以忽略这一点。