如题,看起来是还没有Implement到的样子,IDE提示说0 usages。
目前要透过 LCCore.HttpClient.AddAddtionalHeader('X-LC-Prod&quot"); 来换成预备环境

补充一下 LCCloud.IsProduction 有正常修改到云函数的 Header 到 Prod 及 Stage。
然而问题是 LCCloud.IsProduction 沒有修改到其他的 Request(登陆及直接修改数据存储等),导致 Hook 函数永远都只能在Prod使用。上面提及的 AddAdditionalHeader 可以做到Hook函数也在Prod使用的效果

另外发现一个连带Bug:如果在预备环境的云函数下修改了带Hook的云函数,触发的Hook会是生产环境的而非预备环境的Hook。

目前临时的解决方法为,在 .Net Core 初始化中追加下列代码

if (Environment.GetEnvironmentVariable("LEANCLOUD_APP_ENV") == "stage")
{
    LCCore.HttpClient.AddRuntimeHeaderTask("X-LC-Prod", () => Task.FromResult("0")); 
    //使用LCCore.HttpClient.AddAdditionHeader 会导致呼叫云函数时 Header 出现 "X-LC-Prod: 1,0' 的异常情况,故使用AddRuntimeHeaderTask
}

LCCore 并不预期向开发者提供设置接口,调用生产环境应使用 LCCloud.IsProduction。
我没太清楚是什么问题?

上面有点乱抱歉,主要问题是

1)LCCore.UseProduction 这个Property到底有什么作用?既然已经有IsProduction,那这个Property还有存在的必要吗?

Bug回报
2).Net SDK就算在Staging环境,Hook函数触发的还是Prod里面的Hook
这个问题暂时可以透过追加以下初始化代码解决。

if (Environment.GetEnvironmentVariable("LEANCLOUD_APP_ENV") == "stage")
    LCCore.HttpClient.AddRuntimeHeaderTask("X-LC-Prod", () => Task.FromResult("0"));

1)LCCore.UseProduction 这个Property到底有什么作用?既然已经有IsProduction,那这个Property还有存在的必要吗?

LCCore.UseProduction 目前没用了,会在近期版本中删掉。通过设置 LCCloud.IsProduction 即可完成切换预备和正式环境的需求

2).Net SDK就算在Staging环境,Hook函数触发的还是Prod里面的Hook

没太清楚要 hook 哪些操作呢?