Ορίστε το proxy ενός πελάτη 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 μέσω του ασύγχρονου κύκλου ζωής της εφαρμογής· κρατήστε το URL του hub ως προορισμό. Για μια επιτρεπόμενη δοκιμή δημόσιου hub χωρίς διαμορφωμένα διαπιστευτήρια proxy, η λίστα διακομιστών μεσολάβησης HTTP παρέχει υποψήφιους ενδιάμεσους HTTP.
| Ρύθμιση μεταφοράς | Πού εφαρμόζεται το proxy |
|---|---|
| Προεπιλεγμένη συμπεριφορά σύνδεσης | HttpConnectionOptions.Proxy επιλέγει τον ενδιάμεσο· η προεπιλεγμένη μεταφορά WebSocket του .NET 8 το αναθέτει επίσης στο ClientWebSocketOptions |
HttpMessageHandlerFactory | Προσαρμόζει τον χειρισμό HTTP, όχι τις συνδέσεις WebSocket |
Ένα παρεχόμενο WebSocketFactory | κατέχει τη συμπεριφορά δημιουργίας του και πρέπει να εφαρμόσει την απαιτούμενη διαδρομή |
Μια επιτυχής διαπραγμάτευση δεν αποδεικνύει ότι έγινε δεκτό το μεταγενέστερο τούνελ WebSocket. Αν ένα προσαρμοσμένο WebSocketFactory χρησιμοποιεί .NET ClientWebSocket, διαμορφώστε το proxy αυτού του socket πριν τη σύνδεση. Διαβάστε τα διαγνωστικά μεταφοράς για το τελευταίο ολοκληρωμένο βήμα και ελέγξτε επίσης κάθε σκόπιμη εφεδρική μεταφορά.
Παλαιότερα παραδείγματα ASP.NET SignalR που ορίζουν Connection.Proxy ανήκουν σε άλλη γενιά. Με το HubConnectionBuilder, κρατήστε το proxy στις υπόλοιπες WithUrl επιλογές μεταφοράς αντί να διαμορφώνετε ένα άσχετο αίτημα HTTP.