使用Azure Service Bus时,SignalR无法连接

时间:2014-05-14 23:03:30

标签: azure signalr azureservicebus signalr-backplane

当使用windows azure服务总线作为背板时,我遇到了连接SignalR的随机问题。调试它的问题是它似乎是随机发生的(没有任何代码更改),但是当它确实发生时它需要一段时间才能消失。我通常尝试关闭视觉工作室,重新启​​动,切换到longpolling,关闭iis express,或任何数量的东西,并且无法确定似乎解决它的问题。也许这是天蓝色服务本身的问题。

我设置了日志,这就是回归: SignalR.ServiceBusMessageBus信息:0:订阅服务总线中的5个主题... SignalR.ServiceBusMessageBus错误:0:无法创建服务总线订阅或主题:令牌提供程序在访问“https://x-sb.accesscontrol.windows.net/WRAPv0.9/”时无法提供安全令牌。令牌提供程序返回消息:'无法解析远程名称:'x-sb.accesscontrol.windows.net''。

我已阅读其他相同错误的帖子,但似乎没有相关性。

我的SignalR配置如下所示:

GlobalHost.DependencyResolver.UseServiceBus(connectionString, "MyTopic");
var userIdProvider = new UserIdProvider();
GlobalHost.DependencyResolver.Register(typeof(IUserIdProvider), () => userIdProvider);
app.MapSignalR();

当我切换到longPolling时,它会暂时运行,但会再次启动失败。 SignalR开始忽略longPolling设置并尝试使用websockets。

一旦我删除了UseServiceBus,一切正常,但是有了它,我得到各种各样的问题,或者它没有连接,或者它尝试使用websockets,即使指定了longPolling(导致它失败)。

1 个答案:

答案 0 :(得分:0)

检查配置。

string connectionString ="(您的连接字符串)&#34 ;; var config = new ServiceBusScaleoutConfiguration(connectionString," YourAppName"){     TopicCount = 3,     MaxQueueLength = 50}; GlobalHost.DependencyResolver.UseServiceBus(配置);

http://www.asp.net/signalr/overview/performance/signalr-performance#scaleout_metrics