Đặt proxy cho máy khách ASP.NET Core SignalR trước khi khởi động
Cấu hình máy khách ASP.NET Core SignalR qua HttpConnectionOptions để quá trình thương lượng và transport được chọn đi đúng tuyến mong muốn.
Trước khi khởi động máy khách ASP.NET Core SignalR, hãy cấu hình các tùy chọn kết nối của nó:
var connection = new HubConnectionBuilder()
.WithUrl("https://events.example/hub", options =>
{
options.Proxy = new WebProxy("http://proxy.example:8080");
})
.Build();
Đoạn này dùng máy khách SignalR hiện đại và System.Net. Quản lý connection trong suốt vòng đời async của ứng dụng; giữ URL hub làm điểm đến. Với một bài kiểm tra hub công khai được phép mà không cấu hình thông tin đăng nhập proxy, danh sách proxy HTTP cung cấp các trung gian HTTP tiềm năng.
| Thiết lập transport | Nơi proxy được áp dụng |
|---|---|
| Hành vi kết nối mặc định | HttpConnectionOptions.Proxy chọn trung gian; transport WebSocket mặc định của .NET 8 cũng gán nó cho ClientWebSocketOptions |
HttpMessageHandlerFactory | Tùy chỉnh xử lý HTTP, không phải kết nối WebSocket |
Một WebSocketFactory | được cung cấp có hành vi tạo riêng và phải áp dụng tuyến cần thiết |
Thương lượng thành công không chứng minh rằng đường hầm WebSocket sau đó đã được chấp nhận. Nếu WebSocketFactory tùy chỉnh dùng .NET ClientWebSocket, hãy cấu hình proxy của socket đó trước khi kết nối. Đọc chẩn đoán transport cho bước hoàn tất cuối cùng và cũng kiểm tra mọi transport dự phòng có chủ đích.
Các ví dụ ASP.NET SignalR cũ hơn đặt Connection.Proxy thuộc thế hệ khác. Với HubConnectionBuilder, giữ proxy cùng các tùy chọn WithUrl transport khác thay vì cấu hình một yêu cầu HTTP không liên quan.