Skip to main content
 首页 » 编程设计

c#之SignalR之如何禁用 WebSockets(但保持其他传输事件)

2024年02月27日32shanyou

在 C# 客户端和 Web 客户端中 - 我如何告诉 signalR - “尝试所有但 websockets”?

我的网络代码中有以下内容:

 window.hubReady = $.connection.hub.start({ transport: 'longPolling' }); 

但这只是 javascript 和 longpolling;我正在寻找 JS 和 C# 客户端的配置,以仅删除 websockets 作为传输。如何做到这一点?

请您参考如下方法:

在服务器上:

 public class Startup     
 { 
     public void Configuration(IAppBuilder app) 
     { 
         DisableWebSockets(GlobalHost.DependencyResolver); 
 
         HubConfiguration hubConfiguration = new HubConfiguration(); 
         hubConfiguration.EnableDetailedErrors = true; 
         app.MapSignalR(hubConfiguration); 
     } 
 
     public static void DisableWebSockets(IDependencyResolver resolver) 
     { 
         var manager = resolver.Resolve<ITransportManager() as TransportManager; 
         manager.Remove("webSockets"); 
     } 
 } 

在客户端:

$.connection.hub.start({ transport: ['serverSentEvents', 'foreverFrame', 'longPolling'] }).done(function () {...} 

编辑 - 添加括号