问题标签 [azureservicebus]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
176 浏览

azure - 是否有任何用于访问 Azure 服务总线的用户界面?

我的应用程序使用 Azure 服务总线交换消息,并且大部分时间一切正常。正在生成的奇怪消息未正确处理,并且根据设计,这些消息将进入 DeadLetterQueue。

但是,为了调试这些消息失败的原因,我需要在我的开发机器上查看/接收这些消息,我认为我还需要调整这些消息并将它们放回队列中。

我发现的唯一可以帮助完成这项工作的工具是Service Bus Explorer,这是一个好的开始,但并不能满足我的所有需求。

是否有任何其他好的应用程序可以调试/管理 Azure 服务总线?

更新

此后,Service Bus Explorer 有一个重大更新,我没有正确调查过 - 遇到这个问题的任何人都应该先检查一下!

0 投票
2 回答
1291 浏览

wcf - 托管在 Windows 服务中的 netTcpRelayBinding WCF 服务 - 标准做法

我正在编写托管在 Windows 服务中的 netTcpRelayBinding WCF 服务。由于缺乏windows服务开发经验,我觉得我的代码很幼稚。这是从 Windows-Azure 调用的。您能否帮我查看代码,以及我如何即兴创作它:- 我们正在使用 NLOG 进行日志记录。

我的服务抛出异常(在问题末尾提到)。

我应该如何:- 1. 定义 Windows 服务依赖项(它应该在机器连接到互联网之前启动)。2. 应该怎么多容错,隔了一段时间怎么启动。

Configuration

这有时会引发以下异常(我猜它缺少 Windows 服务依赖性,我希望在机器连接到互联网和 sql 服务器服务启动后启动此服务)。

  1. System.TimeoutException:打开操作未在分配的 00:00:00 超时内完成。分配给此操作的时间可能是较长超时的一部分。---> System.TimeoutException:在 00:00:00 之后打开超时,同时建立到 net.tcp://xxx.servicebus.windows.net:9351/Src/guid/ 的传输会话。分配给此操作的时间可能是较长超时的一部分。---> System.TimeoutException:通过 net.tcp://xxx.servicebus.windows.net:9351/Src/guid/ 连接到 00:00:00 后超时。对 1 个可用地址中的 0 个进行了连接尝试 ()。检查您的通道的 RemoteAddress 并验证此端点的 DNS 记录是否对应于有效的 IP 地址。分配给此操作的时间可能是较长超时的一部分。在 System.ServiceModel.Channels。
  2. System.ArgumentException:issuerSecret 无效。参数名称:Microsoft.ServiceBus.SharedSecretTokenProvider.DecodeSecret(String issuerSecret) 在 Microsoft.ServiceBus.SharedSecretTokenProvider..ctor(String issuerName, String issuerSecret) 在 Microsoft.ServiceBus.Configuration.TokenProviderElement.CreateTokenProvider() 在 Microsoft.ServiceBus.Configuration 的 issuerSecret .TransportClientEndpointBehaviorElement.CreateBehavior() 在 System.ServiceModel.Description.ConfigLoader.LoadBehaviors[T](ServiceModelExtensionCollectionElement1 behaviorElement, KeyedByTypeCollection1 行为,布尔 commonBehaviors) 在 System.ServiceModel.Description.ConfigLoader.LoadServiceDescription(ServiceHostBase host, ServiceDescription description, ServiceElement serviceElement, Action`1 addBaseAddress, Boolean skipHost) 在 System.ServiceModel.ServiceHostBase.LoadConfigurationSectionInternal(ConfigLoader configLoader, ServiceDescription description, ServiceElement serviceSection) 在 System.ServiceModel.ServiceHost.ApplyConfiguration() 在 System.ServiceModel.ServiceHostBase.InitializeDescription(UriSchemeKeyedCollection baseAddresses) 在 System.ServiceModel.ServiceHost..ctor(Type serviceType, Uri[] baseAddresses) 在 One234C.Service.WinServiceHost.One23InsightService .OnStart(String[] args) issuerSecret 无效。
0 投票
1 回答
780 浏览

azure - 连接到 Azure ServiceBus 队列

我正在开发我的第一个 Azure 实现,我已经设置了我的 azure 帐户,并使用 NuGet 将正确的 DLL 和配置安装到我的应用程序中。当我将 WCF 客户端设置为指向服务总线队列并运行该方法时,我得到了这个异常:

Microsoft.ServiceBus.ServerErrorException

我的端点配置是:

我的endpoint行为是:

错误消息非常通用,我不确定我应该看什么

0 投票
1 回答
918 浏览

azure - 是否可以将自定义域与 Windows Azure 服务总线一起使用?

我们有一个复杂的 Azure 设置......云服务、网站、存储帐户、VM ......整个shebang。

我们对所有这些东西都有自定义域,它们工作得很好,但我找不到任何关于设置 A 记录或 CNAME 以使用其服务总线功能的文档。

有谁知道这是否可能?

0 投票
1 回答
1584 浏览

c# - 在 WCF Azure 服务总线中动态分配 json 响应内容类型

我正在编写一个使用 Microsoft.ServiceBus.dll 1.0.0.0(.NET 3.5 版本)的 POC 应用程序。

我的 WCF 合同和服务如下所示:

监听端点配置为使用 WebHttpRelayBinding:

  • 安全模式:传输
  • 传输模式:流式传输

当我尝试将传出响应的 ContentType 分配给“application/json”时,不会发生错误,但调用请求返回状态码 504(网关超时)。

如果我将 ContentType 更改为“text/javascript”,则调用请求返回 200(OK)。

需要注意的一些事项:

  • 内容类型直到运行时才知道,因此必须动态分配。
  • 流的内容是纯的 - 100% 有效 - json。
  • 接受和返回流的目的是让我们可以接受流式请求并将数据流式传输到客户端。
    • 每个请求/响应可以包含一个小的 json 有效负载或一个 200MB 的文档。
  • 如果您想重现 - 此代码使用 Newtonsoft Json 库进行序列化。

为什么会发生这种情况,我该如何解决?

编辑: 504 状态代码可能是我正在测试的提琴手推断的红鲱鱼。从 System.Net.Http.HttpClient 发送相同的请求表示在收到响应之前连接已关闭。

编辑:将内容类型设置为几乎其他任何东西(包括无意义的值)都可以正常工作。我可以打破它的唯一内容类型是 application/json

0 投票
1 回答
359 浏览

azure - 服务总线队列主机服务的异常处理

我有一个 WCF 服务,它连接到准备接收消息的服务总线队列。这很好,但如果我在处理消息时遇到问题,我希望能够将消息标记为死信。目前,如果我的代码引发异常,消息仍会从队列中删除,但我希望能够在配置中指定不从队列中删除,但将其标记为死信。我已经进行了一些搜索,但我无法弄清楚如何做到这一点。我目前正在将该服务作为 Windows 服务运行

Uri baseAddress = ServiceBusEnvironment.CreateServiceUri("sb", "namespace", "servicequeue"); _serviceHost = new ServiceHost(typeof(PaperlessImportServiceOneWay), baseAddress); _serviceHost.Open();

配置:

0 投票
1 回答
826 浏览

signalr - 从不同的 Azure 角色通过横向扩展直接发送信号器消息

我的 Azure 云服务应用程序中有 2 个角色:一个 Web 角色(此处为信号连接)和一个辅助角色。

Web 角色使用 Azure 服务总线作为其横向扩展提供程序。

在某些时间点,工作者角色将发出某些事件。我想将此数据直接发送到连接到集线器的客户端。

我当前的实现涉及工作角色将消息放置在 Web 角色订阅的服务总线队列上,然后 Web 角色通过 HubContext 调用将此消息转发给客户端。

我的问题是:如何从工作角色直接将此消息发送给连接的客户端?到目前为止,我已经考虑了 3 种方法:

  • 将信号器配置为 Web 角色,以便它们使用相同的服务总线主题。- 这没有按预期工作,因为工作者角色实例从为 Web 角色准备的主题订阅中“窃取消息”。这似乎是最干净的方法,但配置是一个问题。

  • 使用 .Net 客户端发送集线器消息 - 这并不理想,因为它给 Web 角色带来了不必要的负载,并且与上述方法相比,服务总线消息量增加了一倍。

  • 手动向主题写入与信号器兼容的消息 - 非常hacky并且易于破坏性更改。

我知道团队目前正在为下一个版本重写横向扩展,但这在某个时候可能吗?

编辑:我注意到RabbitMq implementation支持这一点。

0 投票
1 回答
609 浏览

azure - 已达到或超过 Topic:"TestTopic" azure service bus 的最大允许连接数

昨晚我在将我的网站部署到 Windows azure 后遇到了以下问题。我正在使用服务总线主题

已达到或超过主题 testTopic:Topic:testTopic2 的最大允许连接数。活动连接数:100,最大允许连接数:100..TrackingId:de48e192-e8a8-401c-aeae-731c8630fb06_H3_G3_B6,TimeStamp:2/20/2013

我有一个主题 testTopic 和 3 个订阅来做不同的工作。我没有使用 testtopic2 它的空主题。

有什么想法吗?

0 投票
1 回答
1682 浏览

azure - Service Bus 1.0 无法创建队列或主题

我已经在 Server 2012 上安装了用于 Windows Server 的服务总线。我正在尝试使用“服务总线资源管理器”管理 GUI 来管理队列/主题。

我正在使用以下 PowerShell 命令生成的端点连接连接到我的服务命名空间:

生成:

而且我能够成功连接。

问题:

在 Service Bus Explorer GUI 中,当我尝试创建队列或主题时,日志输出中出现以下错误:

有什么我想念的吗?我已经浏览了所有我能找到的 Service Bus 1.0 安装指南,并且一切似乎都符合我的安装要求。

0 投票
1 回答
586 浏览

amqp - Azure 服务总线 AMQP 令牌身份验证

除了用户名和密码(例如来自 ACS 的令牌)之外,还有其他方法可以使用 AMQP 对 Azure 服务总线进行授权吗?

在我的场景中,我希望能够在不暴露我的凭据的情况下授予资源级客户端访问服务总线的权限。