c# - asp.net Web API核心项目启动类里面的SetCompatibilityVersion是什么

标签 c# asp.net-core asp.net-core-webapi

使用 Visual Studio 2017,我刚刚创建了一个简单的 API 项目,如下所示。 在 Startup.cs 文件中,我有这段代码。

public void ConfigureServices(IServiceCollection services) {

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

}

有人可以解释一下什么是 means 吗?我们需要保留此代码吗?

我认为 MS 应该添加一些注释来说明此类代码的作用。

SetCompatibilityVersion

最佳答案

当您调用 AddMvc 方法时,多个组件会注册某些选项。您调用一个方法,整个 mvc 框架就连接起来了。

但是,如果将来 mvc 团队决定更改默认值,或决定不再默认注册组件,或更改此方法的预期副作用,则依赖于此的用户代码将休息。为避免此类损坏,您可以调用设置兼容性方法,mvc 团队将使用该方法来保留提供给您的行为。

假设他们引入了一项新功能,该功能仅在您针对 2.3 平台时存在:如果您的代码声明它针对 2.2 api,则 mvc 团队将知道您没有使用该功能,因为它当时不存在那时。这样,他们就可以对应该提供什么以及如何提供做出安全的假设。

更多详情请查看MSDN .

关于c# - asp.net Web API核心项目启动类里面的SetCompatibilityVersion是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54193865/

相关文章:

c# - 拆分 float

javascript - 如何使用组向信号器中的特定用户发送消息?

asp.net-core - Asp.Net Core Web应用程序: Global exception handling using IExceptionFilter vs custom middleware

c# - 过滤不需要的 Blob (检测图像中的数字)

c# - 处理 WPF 用户控件的事件

c# - ASP Core 拦截所有身份验证请求

c# - 使用 appsettings 驱动特定于环境的设置,例如 UseUrls

c# - 使用 src-test 目录布局容器化 ASP.NET Core API

c# - WPF 动画 FPS 与 CPU 使用率 - 我是否期望太多?

c# - .net core Worker Service(BackgroundService)无法加载用户 secret