【问题标题】:Dot net core webjob -> ServiceBus consumer点网核心 webjob -> ServiceBus 消费者
【发布时间】:2018-01-11 03:57:16
【问题描述】:

我使用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 core? 是否需要配置任何设置才能使其正常工作?

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 你是对的,我的 zip 文件没有这个文件,但是在我的本地机器上,因为安装了 dotnet 核心框架,它是从 GAC 中挑选的(我猜)。这就是我的问题。我们不是在部署 webjobs 的虚拟机上安装了 dot net core framework 吗?我检查了 webapp->Application Setting,它说 webapp 的版本是 v4.7 我无法将其更改为 .net core 2(在 azure 门户上)
    • WebJobs 托管在 Azure 应用服务下,该服务支持完整的 .NET 框架。您应该能够使用完整的框架运行 WebJob 而不会出现问题(ASB 客户端可以在两者下运行)。至于如何使用 .NET Core 运行 webjob,有不少资源,包括similar questions on StackOverlfowblog posts
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-15
    • 1970-01-01
    • 2017-03-22
    • 1970-01-01
    相关资源
    最近更新 更多