ਸ਼ੁਰੂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ASP.NET Core SignalR ਕਲਾਇੰਟ ਦਾ ਪ੍ਰੌਕਸੀ ਸੈੱਟ ਕਰੋ
HttpConnectionOptions ਰਾਹੀਂ ASP.NET Core SignalR ਕਲਾਇੰਟ ਨੂੰ ਕਨਫਿਗਰ ਕਰੋ ਤਾਂ ਜੋ ਇਸ ਦੀ ਗੱਲਬਾਤ ਅਤੇ ਚੁਣਿਆ ਟਰਾਂਸਪੋਰਟ ਇੱਛਤ ਰਸਤੇ 'ਤੇ ਰਹੇ।
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 ਨੂੰ ਦਿੰਦਾ ਹੈ |
HttpMessageHandlerFactory | HTTP ਸੰਭਾਲ ਨੂੰ ਅਨੁਕੂਲ ਕਰਦਾ ਹੈ, WebSocket ਕਨੈਕਸ਼ਨਾਂ ਨੂੰ ਨਹੀਂ |
ਇੱਕ ਦਿੱਤਾ ਗਿਆ WebSocketFactory | ਆਪਣਾ ਬਣਾਉਣ ਵਿਵਹਾਰ ਰੱਖਦਾ ਹੈ ਅਤੇ ਲੋੜੀਂਦਾ ਰਸਤਾ ਲਾਗੂ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ |
ਸਫਲ ਗੱਲਬਾਤ ਇਹ ਸਾਬਤ ਨਹੀਂ ਕਰਦੀ ਕਿ ਬਾਅਦ ਵਾਲੀ WebSocket ਸੁਰੰਗ ਸਵੀਕਾਰ ਹੋਈ। ਜੇ ਕਸਟਮ WebSocketFactory .NET ClientWebSocket ਵਰਤਦਾ ਹੈ, ਕਨੈਕਟ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਉਸ socket ਦਾ ਪ੍ਰੌਕਸੀ ਕਨਫਿਗਰ ਕਰੋ. ਆਖਰੀ ਪੂਰਾ ਹੋਇਆ ਕਦਮ ਲਈ ਟਰਾਂਸਪੋਰਟ ਡਾਇਗਨੋਸਟਿਕਸ ਪੜ੍ਹੋ ਅਤੇ ਜਾਣਬੁੱਝ ਕੇ ਰੱਖਿਆ ਕੋਈ ਵੀ ਫਾਲਬੈਕ ਟਰਾਂਸਪੋਰਟ ਵੀ ਜਾਂਚੋ।
ਪੁਰਾਣੇ ASP.NET SignalR ਉਦਾਹਰਨ ਜੋ Connection.Proxy ਸੈੱਟ ਕਰਦੇ ਹਨ, ਉਹ ਦੂਜੀ ਪੀੜ੍ਹੀ ਦੇ ਹਨ। HubConnectionBuilder ਨਾਲ ਪ੍ਰੌਕਸੀ ਨੂੰ ਹੋਰ WithUrl ਟਰਾਂਸਪੋਰਟ ਵਿਕਲਪਾਂ ਨਾਲ ਰੱਖੋ, ਅਸੰਬੰਧਿਤ HTTP ਬੇਨਤੀ ਕਨਫਿਗਰ ਕਰਨ ਦੀ ਥਾਂ।