【发布时间】:2021-01-25 16:09:13
【问题描述】:
我的团队最近继承了一个在 Azure 应用服务上运行的 ASP.NET 解决方案。解决方案中的一个项目似乎定义了利用 Azure WebJobs SDK 运行多个功能的 C# 代码。我不是 C# 或 ASP.NET 开发人员,但我参与了项目的构建和发布管道的开发。
我有两个应用服务环境需要运行 WebJobs 项目,但在其中一个环境的情况下,某些功能应该不运行。
每个函数似乎都有自己的 .cs 文件,而且这些函数似乎可以从 App.config 文件继承配置(可以在运行时使用 App.Staging.config 和 App.Prod.config 等文件进行转换) .项目中的函数示例可能如下所示:
using Microsoft.Azure.WebJobs;
using System;
using System.Configuration;
using System.IO;
namespace My.Project.WebJobs
{
public class SomeTask
{
public void ExecuteTask([TimerTrigger(typeof(CustomScheduleDaily3AM))]TimerInfo timerInfo, TextWriter log)
{
var unitOfWork = new UnitOfWork();
var SomeSetting = int.Parse(ConfigurationManager.AppSettings["SomeSetting"]);
unitOfWork.Execute.Something();
}
}
}
由于我对自己的选项理解有限,我想到的第一个想法是潜在地为方法(即上面示例中的 SomeTask 或 ExecuteTask)添加一个启用/禁用开关,该开关可能读取其真/假App.config 中定义的设置中的值。虽然,不精通 C#...我不相信这是可能的。这样做,该函数可能仍会运行,但由于方法被禁用,因此不会采取任何操作。
我觉得似乎有一个解决方案更多地依赖于 Azure 配置,而不是功能级代码更改。任何帮助表示赞赏。
【问题讨论】:
标签: c# app-config azure-webjobs azure-webjobssdk