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 ਬੇਨਤੀ ਕਨਫਿਗਰ ਕਰਨ ਦੀ ਥਾਂ।

ਸੰਬੰਧਿਤ ਲੇਖ