Սահմանել ASP.NET Core SignalR հաճախորդի պրոքսին մինչ մեկնարկը
Կարգավորեք ASP.NET Core SignalR հաճախորդը HttpConnectionOptions-ի միջոցով, որպեսզի նրա բանակցությունը և ընտրված տրանսպորտը ունենան նախատեսված ուղին։
Նախքան 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 հարցում կարգավորելու փոխարեն։