当前位置: 首页 > 知识库问答 >
问题:

找不到函数。尝试公开作业类和方法

宇文航
2023-03-14
public class Program
{
    public static void Main()
    {
        var host = new JobHost();
        host.RunAndBlock();
    }

    public static void ProcessMessage([ServiceBusTrigger("Topic", "Subscription")] BrokeredMessage message)
    {
        //TO DO(message);
    }
}

我正在运行本地m/c代码。

在上面的代码中,我试图在条目上触发Topic的订阅。

但当我运行代码时,它给了我一个错误

找不到函数。尝试公开作业类和方法

我在public Function类中尝试了相同的方法,但不起作用。

但是当我将ServiceBusTrigger更改为QueueTrigger时,它起作用了。

我已经正确设置了下面的配置。

<add name="AzureWebJobsDashboard" connectionString="{Connection string}"/>

<add name="AzureWebJobsStorage" connectionString="{Connection_String}"/>    

<add name="AzureWebJobsServiceBus" connectionString="{Connection_String}"/> 

我哪里说错了?

共有1个答案

东方弘壮
2023-03-14

我假设您使用的是最新的预发布版本1.1.0?在那个版本中,我们做了一个改变,要求你调用配置。在启动代码中使用ServiceBus()。ServiceBus绑定现在是扩展(就像azure-webjobs-sdk-extensions中的其他外部绑定扩展一样,现在必须显式注册。

这篇博文也讨论了这一变化。

 类似资料:
  • 我已经在Visual Studio 2017中创建了一个Azure Function应用程序,并且可以使用Visual Studio发布功能毫无问题地将其发布到Azure(右键单击项目,然后选择发布)。 由于从Visual Studio的开发人员实例部署不是理想的持续集成策略,我已经与TeamCity和Octopus创建了一个部署管道,其中TeamCiti构建了Azure功能应用程序,Octopu

  • 我正在探索在上运行函数应用程序。这是我到目前为止所做的。 下面是新的< code>Program类,它取代了< code>Startup类: 我还有一个非常简单的HTTP触发函数: 我已经修改了我的 ,以指示函数必须在隔离模式下运行: 我使用以下参数启动函数: 问题 当我启动应用程序时,我收到以下警告消息: 我相信我在处于隔离进程中。我错过了什么? 更新 以下是版本信息:

  • 我已经创建了一个.Net 5 Azure函数应用程序项目,并使用程序.cs文件遵循隔离过程,并且它工作正常。现在我想将框架版本从dotnet 5.0更改/升级到6.0,因此更改了项目属性页中的版本,并更改了csproj文件中的版本。并将属性也从 Function 更改为 FunctionName,但它在运行时在 cmd 中显示以下错误。 添加它显示以下进程窗口超过 1 小时,当我运行我的解决方案。

  • 我很感激有几个这样的问题,但我很确定我已经经历了一切,已经到了“到底是什么”的地步。 我在Azure上推出了一个v3函数,但是没有成功地将这个函数发布到.....功能。我担心Azure CLI任务会破坏一些东西。 我函数的启动是: 以及其中的函数: 我相当确定我已经安装了所有的软件包。通过网络浏览到函数似乎是可以的。 Log Analytics 的自定义日志中也不会显示任何内容。不过,该表确实已创

  • 当我尝试在Linux(Ubuntu 18.04)中构建azure函数时,返回错误。以下是我在从git克隆存储库process.After中遵循的步骤。 在输出返回之后, 下面是关于我的系统的信息,

  • 首先,我已经看了其他有同样错误信息的SO帖子,似乎没有一个能解决我的问题。我尝试了许多排列和选择。我的函数构建得很好,但是不能在CLI中运行,我得到了以下神秘的错误。MSFT文档似乎也没有答案。 未找到作业函数。试着公开你的作业类和方法。如果您使用的是绑定扩展(例如ServiceBus、定时器等),请确保在启动代码中调用了扩展的注册方法(例如config.UseServiceBus(),confi