在具有最新更新的 Visual Studio 2017 中,对于 azure 函数模板,我想要一些可以初始化的东西,例如 webjobs 模板中的 program.cs。
我正在尝试在应用程序初始化时使用新的命名空间管理器创建一个新订阅,以便我可以收听一个服务总线主题。
有没有办法做到这一点?如果是,那怎么办?
在具有最新更新的 Visual Studio 2017 中,对于 azure 函数模板,我想要一些可以初始化的东西,例如 webjobs 模板中的 program.cs。
我正在尝试在应用程序初始化时使用新的命名空间管理器创建一个新订阅,以便我可以收听一个服务总线主题。
有没有办法做到这一点?如果是,那怎么办?
如果您打算创建将触发此函数的订阅,则无需手动执行此操作。Function App 将在部署时根据您的绑定创建订阅。
对于其他场景(例如定时器触发函数),您可以在静态构造函数中进行初始化:
public static class MyFunction1
{
static MyFunction1()
{
var namespaceManager = NamespaceManager.CreateFromConnectionString(connString);
if (!namespaceManager.SubscriptionExists("topic1", "subscription1"))
{
namespaceManager.CreateSubscription("topic1", "subscription1");
}
}
[FunctionName("MyFunction1")]
public static void Run(
// ...
}
静态构造函数将在第一次函数调用时运行。