首页 > 解决方案 > 在 Azure 函数中以编程方式设置 RunOnStartup?

问题描述

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

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

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

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

但是内联#DEBUG 是不允许的。

标签: c#.netazure

解决方案


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

#if DEBUG
    const bool IS_DEBUG = true;
#else
    const bool IS_DEBUG = false;
#endif

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

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

推荐阅读