问题标签 [azure-servicebusrelay]
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.
ios - 如何连接到 iOS 服务总线上托管的中继服务
我想在我的 iOS 应用程序中使用 Azure 服务总线与我通过以下链接的服务器进行通信。它指向 C#。需要在 iOS 上工作的建议。
azure - Azure 服务总线 - 从本地公开数据(调用自定义服务)
我想制作某种代理(可能是 Windows 服务),它将在本地服务器的后台运行,并在 Azure 服务总线中公开一个端点。
我在 Azure 中有一个工作人员角色,每天一次向本地代理发送消息,代理将向内部服务发出 Web 请求并返回一些数据。
问题是代理将在不同的客户场所运行......工人角色如何向正确的客户代理服务发送消息并拨打电话?
我猜也许主题和订阅会做到这一点?
c# - 在 Azure 中继总线中重用连接
我们正在研究将 Azure 网站与本地 WCF 服务连接起来。我们想为此使用 Azure 中继总线。
第一次建立 TCP 通道是有成本的,在我们的例子中大约是 3 秒。这是可以理解的。我们确实缓存了频道,因此下一个调用会更快。( 250ms ) 通道缓存在 ThreadLocal 存储中。
当多个用户使用网站时,每使用一个新线程,就会创建一个新的通道实例,我们不得不再次为建立 TCP 通道付出代价。
我的问题是:
我们如何防止真正的用户面临建立频道的延迟?每个客户端线程都有一个 TCP 通道是正常的做法吗?
注意:在本地,我们使用 IIS 自动启动或 NT 服务来“预热”我们的 WCF 服务,但这是在 Azure 上运行网站的方式吗?每个线程都有自己的通道这一事实并没有让它变得更容易。
代码如下所示。
azure - azure 服务总线中继的断开连接问题
我们正在运行一些使用 Azure 服务总线中继通过 http 运行的长时间运行的测试应用程序,这些应用程序托管在 Windows 服务中,并且大多数情况下,这些应用程序可以正常运行 2-3 天。然而,每隔一段时间就会发生内部网络故障(例如防火墙重新启动),从而导致 Internet 连接中断。
此时,中继在 Azure 中被删除,我们的 Web 应用程序无法再与本地服务通信。
我原以为 Azure 中继客户端是容错的——如果它意识到它与 Azure 失去了连接,那么它将重新建立连接,并且如果它不能继续尝试,直到它可以......但它似乎不是这种情况。这似乎很基本......?
我只见过一次“System.ServiceModel.CommunicationException”服务无法在互联网上进行通信,那是客户端启动并首先尝试建立连接的时候。
是否有关于通过中继服务处理瞬时断开连接的任何建议或反馈(因为它是云-> 本地方向,因此客户端无法 AFAIK ping 服务器)。
c# - 如何以编程方式为“自动检测”连接模式配置 Azure ServiceBus 侦听器?
我设计了一个侦听器,它通过服务总线公开 LOB 应用程序。我不得不编写这个监听器,因为我们的应用程序受到不允许入站连接的防火墙保护。
下面的代码是我如何使用 NetTcpRelayBinding 初始化我的侦听器,它运行良好:
但是,我们有一个新的要求:我需要能够支持代理。我的理解是 NetTcp 不支持代理(如果我错了,请纠正我)因此我需要能够回退 HTTP(如果可能,我仍然想使用 TCP,并且只在必要时回退到 HTTP)。我做了一些研究,发现ServiceBus支持“AutoDetect”连接模式,即“探测当前网络环境是否有可用的连接选项。如果两者都可用,系统将默认选择TCP”。这正是我想要的。但是,我不知道如何改进我的代码以支持此功能。
显然我会改变:
和
但我不知道我还需要改变什么。我猜我除了 NetTcp 之外还需要配置另一个绑定,但我该怎么做呢?
azure - Identify a Azure Relay ServiceBus Listener
I am experimenting with Windows Azure Relay Service Bus and WCF... I have a Service Bus with 3 listeners, is there a way to find out any information about where those three listeners point to?
As I started only one WCF service, it's a bit weird I'm seeing 3 listeners so I'd like to find out what's what...
Thank you!
azure - 在 Azure 消息总线中使用 Hybrid ConnectionMode 和 TCP 中继绑定超时
我已经尝试了 msdn 示例代码 ( http://code.msdn.microsoft.com/windowsazure/Relayed-Messaging-Bindings-ca039161 ) 并且在我自己的测试应用程序中遇到了同样的问题。我有一个在中继模式下运行良好的示例,但是一旦我切换到混合模式,客户端就无法连接到服务器并出现超时异常。我已经增加了超时并打开了跟踪,但所有的跟踪显示都是一堆警告,例如
我尝试在 Tcp、Http 和 AutoDetect 之间设置系统连接模式环境设置,但没有成功。
服务器代码:
客户端代码:
谢谢阅读,
罗宾
c# - 天蓝色服务总线上基于任务的服务接口
在 Azure 中使用 net.tcp 中继通信时,我们不断在客户端上收到合约/过滤器不匹配异常。
问题仅在以下条件下存在:
- 使用 azure net.tcp 中继绑定
- 绑定设置为混合模式(在本地运行,以便服务可以相互访问)
- 服务接口返回任务而不仅仅是数据合约
界面:
示例服务:
当绑定在几秒钟后切换到直接连接时,我们开始看到合约不匹配异常被抛出。这是一条红鲱鱼。我相信正在发生的事情是渠道变得混乱。
客户端使用示例(请注意,不幸的是,任务继续似乎无法解决问题):
在执行期间,一旦中继绑定切换到“直接”模式,我就会开始定期收到合同/过滤器不匹配异常(附加),我很确定这是一个红鲱鱼,实际上是因为我的频道错误手上的回调。
我猜测 nettcprelay 绑定在幕后工作的方式涉及一些更复杂的线程池使用,我在调用代码中没有设法满足这些使用。我尝试了各种处理通道的方法,特别是在通话后尝试 .ContinueWith 同步……但无济于事。
wcf - 是什么导致 Azure 服务总线中继 WCF 服务抛出 AddressAlreadyInUseException
当我们尝试使用 Azure 服务总线中继地址和 webHttpRelayBinding 启动 WCF 服务时,我们会收到一个 AddressAlreadyInUseException。
我们在这里使用示例:https ://code.msdn.microsoft.com/Relayed-Messaging-Bindings-a6477ba0
除非您使用以下代码创建中继,否则该示例无法正常工作:
在 Program.Main() 中执行任何其他工作之前,您需要添加 Azure 服务总线 nuget 包。然后,您需要使用 Azure 凭据更新 App.config 中名为 Microsoft.ServiceBus.ConnectionString 的 appSettings 下的 ConnectionString。
我们已经使用 TCPViewer 查看正在使用的端口并且没有发现冲突。在我们的实际项目中,我们尝试了 webHttpRelayBinding 和 netTcpRelayBinding。最后,我们想使用 netTcpRelayBinding,这样我们就可以使用 DuplexChannels。
关于导致我们问题的任何想法?我们是否缺少一些未记录的配置步骤?每个教程都让这看起来很简单,但我们发现每个教程都缺少一些关键步骤。因此,如果我们错过了更多步骤,我不会感到惊讶。
azure - 无法从 Azure 中的移动服务访问 WCF 服务
我想WCF service
从Mobile Service
in访问Windows Azure
。为此,我使用Service Bus Relay
配置了凭据的连接来调用WCF service
.
当我Mobile Service
在本地机器上发布它时,我可以WCF service
毫无问题地调用。
但是当我Mobile Service
在 Azure 上发布它时,尝试访问它时会出现以下错误。IService1 是 WCF 服务的合同。我使用此合同在移动服务的 Web.Config 文件中定义了端点。
你能帮我解决这个问题吗?
Exception=System.InvalidOperationException:在 ServiceModel 客户端配置部分中找不到引用合同“ServiceReference1.IService1”的默认端点元素。这可能是因为没有为您的应用程序找到配置文件,或者因为在客户端元素中找不到与此合同匹配的端点元素。
编辑: 在进一步调查此问题后,我发现通过添加服务引用生成的代理类在我们将其托管在云中时并没有获取 Web.config 中定义的端点定义。但是,当服务在我机器的 azure 模拟器上运行时,它会从 Web.config 中获取端点定义。
因此,为了解决这个问题,我必须以编程方式定义端点并使用 ChannelFactory 类来调用 WCF 服务。
关于为什么移动服务无法在云中读取 Web.config 的任何想法?