VS2017中Azure函数项目中的应用程序初始化15.3.4?

时间:2017-09-13 23:45:09

标签: azure azure-functions azure-functions-runtime

在带有最新更新的Visual Studio 2017中,对于azure函数模板,我想要一些可以在webjobs模板中初始化program.cs的东西。

我正在尝试在应用程序初始化时使用新的命名空间管理器创建一个新订阅,以便我可以收听一个服务总线主题。

有办法吗?如果是,那么如何?

2 个答案:

答案 0 :(得分:2)

如果您打算创建将触发此功能的订阅,则无需手动执行此操作。 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(
    // ...
}

静态构造函数将在第一次函数调用时运行。

答案 1 :(得分:1)

  

对于azure函数模板,我想要一些我可以在webjobs模板中初始化program.cs的东西。

据我所知,Azure功能现在没有很好的支持。您可以找到a similar question

  

问题:

     

我有一个C#函数,想知道是否有任何初始化点。我有需要初始化的依赖注入容器   并想知道该去哪做。

     

Mathew的回复

     

我们现在没有一个好故事。请参阅未决问题   here在我们的回购中讨论了这个问题。