【问题标题】:.net 6 DI ApplicationServices not contains in WebApplication.net 6 DI 应用程序服务不包含在 Web 应用程序中
【发布时间】:2021-12-12 08:12:46
【问题描述】:
app.UseRequestLocalization(app.ApplicationServices.GetRequiredService<IOptions<RequestLocalizationOptions>>().Value);

我想在我的项目中使用 .net 6 进行全球化。但是在 program.cs 中出现错误

错误 CS1061
“WebApplication”不包含“ApplicationServices”的定义,并且找不到接受“WebApplication”类型的第一个参数的可访问扩展方法“ApplicationServices”(您是否缺少 using 指令或程序集引用?)

我能做什么?

【问题讨论】:

  • 您的Configure 方法不在请求的上下文中运行(它发生在启动期间),因此尝试在那里获取IOptions&lt;RequestLocalizationOptions&gt; 是没有意义的。 (当然,您可以在中间件 func 中使用它)。

标签: dependency-injection .net-6.0 asp.net-core-localization


【解决方案1】:

app应该被转换成如下所示的界面:-

var options = ((IApplicationBuilder)app).ApplicationServices.GetRequiredService<IOptions<RequestLocalizationOptions>>();

app.UseRequestLocalization(options.Value);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-28
    相关资源
    最近更新 更多