【问题标题】:How to get compatibility version in MVC如何在 MVC 中获取兼容版本
【发布时间】:2019-04-29 06:36:37
【问题描述】:

在 MVC 应用中配置服务时,您可以设置兼容版本:

services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);

我以后如何在自己的代码中检索此版本以确定正在使用的兼容版本?

似乎在任何地方都没有相应的 GetCompatibilityVersion 方法,而且 google/stackoverflow 搜索不是我的朋友。

任何帮助表示赞赏。

【问题讨论】:

  • 也许您可以根据所需的逻辑将其显式存储在您的 Startup 类中?然后你可以将该字段传递给SetCompatibilityVersion
  • 我想到了一种解决方法,其中涉及到存储它,只是看起来不像是“正确”的方式,如果没有官方方式,我会看看,谢谢

标签: c# asp.net-core model-view-controller


【解决方案1】:

MVC 兼容版本实际上存储在一个名为MvcCompatibilityOptions 的类的实例中。您可以通过应用程序使用的 IoC 容器(ASP.NET Core 的内置容器或第三方容器)定位该对象来检索它。

例如,使用默认 IoC,您可以像这样检索它:

var compatibilityVersion = app.ApplicationServices.GetService<IOptions<MvcCompatibilityOptions>>().Value.CompatibilityVersion;

appIApplicationBuilder 的一个实例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-10
    • 1970-01-01
    • 2019-08-27
    • 1970-01-01
    • 2020-10-16
    • 1970-01-01
    • 2021-10-11
    • 2016-10-12
    相关资源
    最近更新 更多