2017-03-07 87 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