当使用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(导致它失败)。
答案 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