【问题标题】:Azure Service Bus InvalidOperationExceptionAzure 服务总线 InvalidOperationException
【发布时间】:2019-09-04 05:25:24
【问题描述】:

我有一个正在运行的 .NET Core 应用程序正在侦听 Azure 服务总线主题。 当我运行应用程序时出现此错误:

不能在一个实体上创建会话消息接收器 不需要会话。确保 RequiresSession 设置为 true 时 创建队列或订阅以启用会话行为。

我认为代码在单独的线程上运行,我似乎找不到抛出异常的点。

我也没有 SessionClient.cs 文件所在的 D:\ 驱动器。

这是 Azure 中的 D:\ 驱动器,如果是,这是否意味着 Azure 中有代码在运行?

如何调试?

【问题讨论】:

  • 您是否在队列或订阅上启用了会话?您打算使用会话吗?否则你应该发布处理传入消息的代码,你可能表明你想使用会话。
  • @PeterBons 我没有在 Azure 门户中的队列上启用会话。我现在已经这样做了,而且它正在工作。谢谢。

标签: azure asp.net-core-2.0 azureservicebus


【解决方案1】:

删除您的队列并在未选中“需要会话”的情况下再次创建它。还要检查您的代码,因为您可能已将 bool RequireSession 设置为 true。事实上,一旦您在相反的配置中配置了队列,您就启用或禁用了会话

【讨论】:

    【解决方案2】:

    您将获得堆栈跟踪,其中包括为该版本的软件包编译和部署的源代码的引用。 D:\ 驱动器与问题无关。这是您接收消息的方式和实体的配置方式不匹配。您似乎有一个无会话实体,但在代码中,您使用配置为使用会话的接收器。

    【讨论】:

      猜你喜欢
      • 2018-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-09
      • 2021-12-30
      • 2014-10-20
      • 2012-10-03
      相关资源
      最近更新 更多