Параметр не инициализирован в ASP.NET CORE 2.1, когда он находится в ASP.NET CORE 2.0 - PullRequest
0 голосов
/ 21 сентября 2018

Я прошел превосходный курс по множественному пониманию и внес изменения в код в соответствии с моим собственным приложением.

В курсе при создании проекта использовался ASP.NET CORE 2.0.Я использовал 2.1, думая, что особой разницы не будет.

Однако я натолкнулся на разницу в двух версиях.

• Начать новый проект: testcore2.0

• Выберите API и версию ASP.NET Core 2.0, нажмите OK. Затем проект запущен и запущен

• Добавьте папку «Помощники»

• В папке «Помощники» добавьте класс: TestHelper.cs

• Добавить строковое свойство в класс TestHelper

namespace TestCore20.Helpers
{
  public class TestHelper
  {
    public string TestString { get; set; } = "string";
  }
}

• В ValuesController.cs добавить предложение using с помощью TestCore20.Helpers;

using TestCore20.Helpers;

• В методе Get добавьте TestHelper в качестве параметра. В методе Get добавьте строковую переменную, которая получит строку Teststring в TestHelper, и установите для нее точку останова.

[HttpGet]
public IEnumerable<string> Get(TestHelper th)
{
  string testString = th.TestString;

  return new string[] { "value1", "value2" };
}

Если вы затем запуститепроект останавливается в точке останова, и вы можете проверить th и подтвердить, что он был инициирован.

Все это работает как положено.

Однако, если мы повторим шаги в новом проекте и используем ASP.NET CORE 2.1-й классs возвращает нулевую ссылку.Он не инициализирован.

Как получить объект для инициализации в ASP.NET CORE 2.1?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...