Viv*_*Dev 9 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);
}
Run Code Online (Sandbox Code Playgroud)
有人可以请问一下含义是什么吗?我们需要保留此代码吗?
我认为MS应该添加一些注释以表明此类代码的作用。
Pie*_*ier 14
调用该AddMvc方法时,使用某些选项注册了几个组件。您调用一种方法,整个mvc框架被连接起来。
但是,如果将来MVC团队决定更改默认值,或者决定不再默认注册组件,或者更改此方法的预期副作用,则依赖该代码的用户代码将中断。为避免这种损坏,您可以调用set兼容性方法,mvc团队将使用该方法来保留提供给您的行为。
假设他们引入了一项新功能,该功能仅在您以2.3平台为目标时才存在:如果您的代码声明它以2.2 api为目标,则mvc团队将知道您没有使用该功能,因为那时该功能尚不存在。这样,就可以对应该提供什么以及如何提供做出安全的假设。
有关更多详细信息,请查看MSDN。
And*_*ykh 12
仅供参考,SetCompatibilityVersion对于 .Net Core 3 或更高版本是无操作,在 .Net 6 中已弃用。
https://learn.microsoft.com/en-us/aspnet/core/mvc/compatibility-version?view=aspnetcore-5.0
| 归档时间: |
|
| 查看次数: |
1881 次 |
| 最近记录: |