Могу ли я создать класс функции non stati c Azure в C#, каковы последствия? - PullRequest
0 голосов
/ 20 января 2020

Этот класс non-stati c необходим для внедрения конструктора в функцию Azure и сбора пользовательских событий телеметрии.

Если мы создаем приложение функции azure в Visual Studio, оно создает значение по умолчанию с Ключевое слово stati c вроде этого:

public static async Task<IActionResult> Run(
                [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req,
                ILogger log)
{
     telemetryClient.TrackEvent(new Exception("Function started"));
}

Но чтобы использовать инжекцию зависимости конструктора (для клиента Temeltry, я использую его), нам нужно удалить ключевое слово stati c.

public Function1(TelemetryClient telemetryClient)
        {
            _telemetryClient = telemetryClient;
        }

1 Ответ

3 голосов
/ 21 января 2020

Ранее функция Azure поддерживала только класс / метод stati c. Это вызывает некоторые проблемы, такие как DI через конструктор невозможно. Таким образом, возникает проблема Поддержка функций экземпляра .

Поэтому, если вам нужно использовать DI через конструктор, просто измените его на non-stati c. Нет никаких последствий.

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