sil*_*ent 4 azure azure-functions
我正在将Azure功能从v1(.NET 4.7)迁移到v2(.NET Standard 2).在v1版本中,我使用了一些静态变量,我从配置中读取这些变量以获得单个(Cosmos DB客户端)
private static string cosmosDbUri = ConfigurationManager.AppSettings["CosmosDb.Uri"];
//...
private static MyCosmosDbClient cosmosDbClient = new MyCosmosDbClient(cosmosDbUri, ...);
Run Code Online (Sandbox Code Playgroud)
对于v2,我会切换到配置的ConfigurationBuilder:
private static IConfigurationRoot config = new ConfigurationBuilder()
.SetBasePath(context.FunctionAppDirectory)
.AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
.AddEnvironmentVariables()
.Build();
Run Code Online (Sandbox Code Playgroud)
现在有一个问题就是需要ExecutionContext,我只能在执行函数时获得(或知道如何获取).
所以我的问题是,如何解决这个问题?构建一个Init(ExecutionContext context)方法,我只会在配置尚未加载时调用,或者有更好的方法来执行此操作?
Mik*_*kov 11
您可以替换context.FunctionAppDirectory使用Environment.CurrentDirectory.
至少,它在本地local.settings.json工作,而这正是你需要工作的地方,所以这个改变应该是安全的.
| 归档时间: |
|
| 查看次数: |
1965 次 |
| 最近记录: |