ExecutionContext является нулевым для нефункциональных методов через IoC, альтернативный ExecutionContext.FunctionAppDirectory - PullRequest
0 голосов
/ 11 марта 2019

ExecutionContext доступен для параметров функции.

Однако он не доступен другим методам через внедрение зависимостей, включая конструктор функций, как показано ниже:

    public class FunctionClass
    {   

        IOtherClass _otherclass;
       public FunctionClass(ExecutionContext  context,  //excetpion
                          IOtherClass otherclass)  //excetpion
       {
                 _otherclass = IOtherClass otherclass
       }

     [FunctionName("Car")]
        public async Task<IActionResult> Run(
        [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)]
        HttpRequest req, ExecutionContext  context)
        {     
          }
    }

     public class OtherClass:IOtherClass
    {   
       public OtherClass(ExecutionContext  context)  //excetpion
       {}
    }

Мне нужен доступ к ExecutionContext.FunctionAppDirectory, но я не хочу передавать ExecutionContext, потому что вместо этого хочу использовать IoC.

Есть ли альтернативный способ получить значение ExecutionContext.FunctionAppDirectory?

VS 2017

Azure Functons 2.x

1 Ответ

0 голосов
/ 11 марта 2019

На основании текущей документации, ExecutionContext доступно только в объеме запроса, когда вызывается метод функции.

[FunctionName("Car")]
public async Task<IActionResult> Run(
    [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)]
    HttpRequest req, 
    ExecutionContext context //<--
) {

    var path = context.FunctionAppDirectory;

    //...
}

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

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