SignalR - How do I disable WebSockets

后端 未结 3 1117
日久生厌
日久生厌 2020-12-01 16:23

I upgraded to .NET 4.5, now SignalR seems insistent on using WebSockets in Firefox/Chrome - even though I\'m only on Windows 7 which doesn\'t have a WebSocket Server.

<
3条回答
  •  误落风尘
    2020-12-01 17:00

    In order to disable a transport on the server side, you must use something like this:

    using Microsoft.AspNet.SignalR;
    using Microsoft.AspNet.SignalR.Transports;
    using Owin;
    namespace MyApplication
    {
        public static class Startup
        {
            public static void ConfigureSignalR(IAppBuilder app)
            {
                // If using the global dependency resolver
                TurnOfForeverFrame(GlobalHost.DependencyResolver);
                app.MapSignalR();
            }
            public static void TurnOfForeverFrame(IDependencyResolver resolver)
            {
                var transportManager = resolver.Resolve() as TransportManager;
                transportManager.Remove("foreverFrame");
            }
        }
    }
    

    The @reach4thelasers' solution only disable it in the client, but the client could re-enable the transport and connect.

    Cheers.

提交回复
热议问题