在 Azure 函数中以编程方式设置 RunOnStartup?

use*_*704 4 .net c# azure

我正在创建一个 Azure 函数。在我的本地主机上测试时,我希望它立即执行。但是在 Prod 中,它可以每 5 分钟运行一次。我希望不必依靠人类来记住进行此更改。

public static void Run([TimerTrigger("0 */5 * * * *", RunOnStartup = true)])
Run Code Online (Sandbox Code Playgroud)

我一直在尝试各种方法来使truehere 以某种方式可变,但还没有找到解决方案。我在想这样的事情:

public static void Run([TimerTrigger("0 */5 * * * *", RunOnStartup = #DEBUG ? true : false)])
Run Code Online (Sandbox Code Playgroud)

但是不允许内联#DEBUG。

hai*_*770 6

为了更好的可读性,您可以定义一个常量bool来表示您是否正在运行 DEBUG 构建:

#if DEBUG
    const bool IS_DEBUG = true;
#else
    const bool IS_DEBUG = false;
#endif
Run Code Online (Sandbox Code Playgroud)

然后在您的属性中使用它:

public static void Run([TimerTrigger("0 */5 * * * *", RunOnStartup = IS_DEBUG)])
Run Code Online (Sandbox Code Playgroud)