ASP.NET Core SignalR ક્લાયન્ટ શરૂ કરતા પહેલાં તેના કનેક્શન વિકલ્પો ગોઠવો:

var connection = new HubConnectionBuilder()
    .WithUrl("https://events.example/hub", options =>
    {
        options.Proxy = new WebProxy("http://proxy.example:8080");
    })
    .Build();

આ ટુકડો આધુનિક SignalR ક્લાયન્ટ અને System.Net વાપરે છે. સંચાલન કરો connection એપ્લિકેશનના async જીવનચક્ર દરમિયાન; hub URL ને ગંતવ્ય તરીકે રાખો. પ્રોક્સી ક્રેડેન્શિયલ ગોઠવ્યા વિના માન્ય જાહેર hub પરીક્ષણ માટે HTTP પ્રોક્સી સૂચિ સંભવિત HTTP મધ્યસ્થો પૂરા પાડે છે.

ટ્રાન્સપોર્ટ સેટઅપપ્રોક્સી ક્યાં લાગુ પડે છે
ડિફોલ્ટ કનેક્શન વર્તનHttpConnectionOptions.Proxy મધ્યસ્થ પસંદ કરે છે; .NET 8 નું ડિફોલ્ટ WebSocket ટ્રાન્સપોર્ટ પણ તેને ClientWebSocketOptions ને સોંપે છે
HttpMessageHandlerFactoryHTTP હેન્ડલિંગ કસ્ટમાઇઝ કરે છે, WebSocket કનેક્શન નહીં
એક પૂરો પાડેલો WebSocketFactoryતેની રચના વર્તન ધરાવે છે અને તેનો જરૂરી માર્ગ લાગુ કરવો પડે છે

સફળ વાટાઘાટ સાબિત કરતી નથી કે પછીનું WebSocket ટનલ સ્વીકારાયું છે. જો કસ્ટમ WebSocketFactory .NET ClientWebSocket વાપરે, કનેક્ટ કરતા પહેલાં તે socket નો પ્રોક્સી ગોઠવો. છેલ્લા પૂર્ણ થયેલા પગલા માટે ટ્રાન્સપોર્ટ ડાયગ્નોસ્ટિક્સ વાંચો અને કોઈપણ જાણી જોઈને રાખેલું ફોલબેક ટ્રાન્સપોર્ટ પણ તપાસો.

જૂના ASP.NET SignalR ઉદાહરણો જે Connection.Proxy સેટ કરે છે તે બીજી પેઢીના છે. HubConnectionBuilder સાથે પ્રોક્સીને બીજા WithUrl ટ્રાન્સપોર્ટ વિકલ્પો સાથે રાખો, અસંબંધિત HTTP વિનંતી ગોઠવવાને બદલે.

સંબંધિત લેખો