点网核心webjob - > ServiceBus消费者

时间:2018-01-11 03:57:16

标签: .net-core azure-webjobs azureservicebus azure-servicebus-queues

我使用this教程创建了一个非常简单的publishersubscriber解决方案。我希望将订阅者托管到azure中,作为持续执行webjob,这会消耗发送到特定主题的所有事件。

Subscriber是一个简单的dotnet核心应用程序,可以在本地开发机器上运行。

我已将'Debug'(或'Release')文件夹的所有内容包装到zip文件中,该文件包含batfile名称taskRunner.bat作为webjob开始执行的入口点。以下是taskRunner.bat

的内容
dotnet SBClient.dll 

SBClient.dll是一个程序集,包含从主题中获取消息的逻辑。 当我在我的机器上运行这个批处理文件时,一切都很好。但是,当我在我的azure webjobs中将其部署为webjob时,我会看到下面的错误和WebJob的状态仍然是PendingRestart

[01/11/2018 03:51:51 > f07a91: INFO] D:\local\Temp\jobs\continuous\coretask\kigmen2q.zmj>dotnet SBClient.dll 
[01/11/2018 03:51:51 > f07a91: ERR ] Error:
[01/11/2018 03:51:51 > f07a91: ERR ]   An assembly specified in the application dependencies manifest (SBClient.deps.json) was not found:
[01/11/2018 03:51:51 > f07a91: ERR ]     package: 'Microsoft.Azure.Amqp', version: '2.1.2'
[01/11/2018 03:51:51 > f07a91: ERR ]     path: 'lib/netstandard1.3/Microsoft.Azure.Amqp.dll'
[01/11/2018 03:51:51 > f07a91: ERR ] 
[01/11/2018 03:51:51 > f07a91: SYS ERR ] Job failed due to exit code -2147450740
[01/11/2018 03:51:51 > f07a91: SYS INFO] Process went down, waiting for 60 seconds
[01/11/2018 03:51:51 > f07a91: SYS INFO] Status changed to PendingRestart

查看消息我可以告诉它正在查找名为“Microsoft.Azure.Amqp”的文件,但不知道它是如何在我的机器上工作的。

这意味着我在Azure上没有最新版本的dotnet核心? 我需要配置哪些设置才能使其正常工作?

1 个答案:

答案 0 :(得分:0)

根据错误,您缺少Microsoft.Azurem.Amqp.dll程序集,它是Microsoft.Azure.ServiceBus程序集的依赖项。您的zip文件是否包含所有必需的依赖项程序集,包括AMQP程序集?