Что такое SetCompatibilityVersion внутри класса запуска основного проекта asp.net Web API - PullRequest
0 голосов
/ 15 января 2019

Используя Visual Studio 2017, я только что создал простой проект API, как показано ниже. И в файле Startup.cs у меня есть этот код.

public void ConfigureServices(IServiceCollection services) {

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

}

Может кто-нибудь пролить свет на то, что такое средства? Нужно ли хранить этот код?

Я думаю, что MS должен добавить несколько комментариев, чтобы указать, что делает такой код.

SetCompatibilityVersion

1 Ответ

0 голосов
/ 15 января 2019

При вызове метода AddMvc несколько компонентов регистрируются с определенными параметрами. Вы вызываете один метод, и вся инфраструктура MVC подключена.

Однако, если команда mvc в будущем решит изменить значение по умолчанию, или решит, что компонент больше не должен быть зарегистрирован по умолчанию, или изменит ожидаемый побочный эффект этого метода, пользовательский код, полагающийся на это, будет перерыв. Чтобы избежать такой поломки, вы можете вызвать метод set compatibility, который команда mvc будет использовать для сохранения предоставленного вам поведения.

Предположим, что они вводят новую функцию, которая существует только тогда, когда вы нацеливаетесь на платформу 2.3: если ваш код объявляет, что он нацелен на API 2.2, команда mvc будет знать, что вы не используете эту функцию, потому что ее не было в то время. Таким образом, можно сделать безопасные предположения о том, что следует предоставлять и как.

Для получения более подробной информации, пожалуйста, посмотрите MSDN .

...