代码之家  ›  专栏  ›  技术社区  ›  Pingpong

通过替代ExecutionContext.functionppdirectory和Azure Function 2.x的基本文件夹路径

  •  0
  • Pingpong  · 技术社区  · 5 年前

    ExecutionContext 通过构造函数通过依赖项注入为空, ExecutionContext.FunctionAppDirectory 是获取基本文件夹路径所必需的。

    有没有别的选择 ?

    在调用函数之前,ExecutionContext何时何地可用?这样我就可以得到基本路径。

    0 回复  |  直到 5 年前
        1
  •  0
  •   Naren    5 年前

    函数应用程序目录的位置将根据运行该函数应用程序的环境和上下文进行更改。

    这是一个大概的方法得到它。不确定这是不是你要找的。

    // if running in azure  
    if (string.IsNullOrEmpty(Environment.GetEnvironmentVariable("WEBSITE_INSTANCE_ID")))
    {
        string home = GetEnvironmentVariable("HOME");
        Path = System.IO.Path.Combine(home, "site", "wwwroot");
    }
    // running in non azure environments 
    else
    {
        Path = GetEnvironmentVariable("AzureWebJobsScriptRoot");
    }