我使用本教程创建了一个非常简单的publisher
和subscriber
解决方案。我想将订阅者托管到 azure 中,作为持续执行webjob
消耗发送到特定主题的所有事件。
订阅者是一个简单的dotnet核心应用程序,在本地开发计算机上运行良好。
我已将"调试"(或"发布")文件夹的所有内容包装到zip文件中,该文件包含一个batfile
名称taskRunner.bat
作为Webjob开始执行的入口点。以下是taskRunner.bat
的内容
dotnet SBClient.dll
SBClient.dll
是一个程序集,其中包含用于从主题中获取消息的逻辑。 当我在我的机器上运行这个批处理文件时,一切都很好。 但是当我在 azure Web 作业中将其部署为 Web 作业时,我会看到以下错误,并且 Web 作业的状态仍然PendingRestart
[01/11/2018 03:51:51 > f07a91: INFO] D:localTempjobscontinuouscoretaskkigmen2q.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 核心? 是否需要配置任何设置才能使其正常工作?
根据错误,您缺少Microsoft.Azurem.Amqp.dll
程序集,该程序集是程序集Microsoft.Azure.ServiceBus
依赖项。您的 zip 文件是否包含所有必需的依赖项程序集,包括 AMQP 程序集?