Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 缩放时Azure服务总线唯一订阅名称_C#_.net_Azure_Azureservicebus_Azure Web App Service - Fatal编程技术网

C# 缩放时Azure服务总线唯一订阅名称

C# 缩放时Azure服务总线唯一订阅名称,c#,.net,azure,azureservicebus,azure-web-app-service,C#,.net,Azure,Azureservicebus,Azure Web App Service,我有一个场景,其中我是Azure服务总线中的主题和订阅。该网站创建对主题的订阅。当网站的另一个实例是create时,我想用一个唯一的名称创建一个对同一主题的新订阅。最好的办法是什么。该网站作为azure中的web应用程序托管。azure Service Bus是一个代理,您的应用程序应该是一个竞争消费者(即,同一队列的多个实例馈送,因为它们只是您扩展的同一web应用程序的实例)。也就是说,有时您需要实现一种机制,比如回调,通常用于与webapp的特定实例通信,一直到客户端。为此,我建议不要考虑为

我有一个场景,其中我是Azure服务总线中的主题和订阅。该网站创建对主题的订阅。当网站的另一个实例是create时,我想用一个唯一的名称创建一个对同一主题的新订阅。最好的办法是什么。该网站作为azure中的web应用程序托管。

azure Service Bus是一个代理,您的应用程序应该是一个竞争消费者(即,同一队列的多个实例馈送,因为它们只是您扩展的同一web应用程序的实例)。也就是说,有时您需要实现一种机制,比如回调,通常用于与webapp的特定实例通信,一直到客户端。为此,我建议不要考虑为每个webapp创建订阅,也不要为每个实例创建订阅(可以将其用作唯一的订阅ID)。正如John所评论的,每个实例订阅的问题在于,当您进行扩展时,与取消配置的webapp实例订阅相关联的消息将保留在代理上,而不进行处理。更不用说,不断向外/向内扩展将生成孤立的订阅,而不会进行清理


另一种选择是为每个webapp订阅,并使用类似的东西将这些事件分发到特定实例,这是专门为此目的而设计的。SignalR有几个背板实现(Redis、Azure ServiceBus、SQL Server)。

Azure Service Bus是一个代理,您的应用程序应该是一个竞争消费者(即,同一队列的多个实例馈送,因为它们只是您扩展的同一web应用程序的实例)。也就是说,有时您需要实现一种机制,比如回调,通常用于与webapp的特定实例通信,一直到客户端。为此,我建议不要考虑为每个webapp创建订阅,也不要为每个实例创建订阅(可以将其用作唯一的订阅ID)。正如John所评论的,每个实例订阅的问题在于,当您进行扩展时,与取消配置的webapp实例订阅相关联的消息将保留在代理上,而不进行处理。更不用说,不断向外/向内扩展将生成孤立的订阅,而不会进行清理


另一种选择是为每个webapp订阅,并使用类似的东西将这些事件分发到特定实例,这是专门为此目的而设计的。SignalR有几种背板实现(Redis、Azure ServiceBus、SQL Server)。

用例是什么?我不建议这样做,因为当网站实例死亡时,您将有需要清理的订阅。感谢Sean Feldman和JTaub,场景是当主题上发布消息时,web应用程序从订阅中读取消息,并使用Signal将其推送到客户端。这就是我考虑为每个实例创建订阅的原因,因为每个实例都有自己的一组客户端。用例是什么?我不建议这样做,因为当网站实例死亡时,您将有需要清理的订阅。感谢Sean Feldman和JTaub,场景是当主题上发布消息时,web应用程序从订阅中读取消息,并使用Signal将其推送到客户端。这就是我考虑为每个实例创建订阅的原因,因为每个实例都有自己的一组客户端。感谢Sean Feldman和JTaub,场景是当主题上发布消息时,web应用程序从订阅中读取消息,并使用signalR将其推送到客户端。这就是我考虑为每个实例创建订阅的原因,因为每个实例都有自己的一组客户端。但根据Sean的建议,我可以只订阅一个主题,并使用Signal R backplane来处理扩展场景。如果我遵循此路线,消息应该可以从订阅中多次读取。因此,多个实例可以读取消息并将其发送给客户端。那么,我如何设置它的计数以及何时标记消息完成?您只需阅读一次消息,并使用背板使用信号器进行广播。如果成功,请将ASB消息标记为已完成。感谢Sean Feldman和JTaub,场景是当发布主题消息时,web应用程序从订阅中读取消息并使用signalR将其推送到客户端。这就是我考虑为每个实例创建订阅的原因,因为每个实例都有自己的一组客户端。但根据Sean的建议,我可以只订阅一个主题,并使用Signal R backplane来处理扩展场景。如果我遵循此路线,消息应该可以从订阅中多次读取。因此,多个实例可以读取消息并将其发送给客户端。那么,我如何设置它的计数以及何时标记消息完成?您只需阅读一次消息,并使用背板使用信号器进行广播。如果成功,请将ASB消息标记为已完成。