2017-03-07 74 views
2

我試圖與RequestCultureProvider(主要是試圖從用戶類中找到當前請求的UI文化)在ASP.NET 1.1的核心無法實例實現類型

我有以下的代碼工作在我的下ConfigureServices Startup.cs:

無法實例實現類型 「萬分之一:

services.AddSingleton<IRequestCultureProvider, RequestCultureProvider>(); 

以下錯誤正在運行時拋出oft.AspNetCore.Localization.RequestCultureProvider '爲服務 型' Microsoft.AspNetCore.Localization.IRequestCultureProvider

如何解決這個問題?還是有另一種從用戶類中獲取CurrentUICulture 的方法。

讚賞有具體的例子。

+2

RequestCultureProvider被解析爲一個服務從微軟是一個抽象類。你不能實例化它。按照http://www.jerriepelser.com/blog/how-aspnet5-determines-culture-info-for-localization/瞭解CultuerProvider在asp.net核心的用戶 –

回答

6

Microsoft.AspNetCore.Localization.RequestCultureProvider是一個抽象類,所以它不能像這樣被實例化。

相信框架的目的是讓你使用不FeaturesServices

var requestCultureFeature = context.Features.Get<IRequestCultureFeature>(); 

在結合並稱設置功能的RequestLocalizationMiddleware

RequestCultureProvider用於配置RequestLocalizationOptions所使用的RequestLocalizeationMiddleware(使用DI爲IOptions<RequestLocalizationOptions>),所以不打算在自己的

+0

我在你原來的問題上添加了一個答案。我認爲你缺少添加'app.UseRequestLocalization()'來註冊'RequestLocalizationMiddleware'這是什麼填充'IRequestCultureFeature' – Tim