ตั้งค่า 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 ตลอดวงจรชีวิตแบบ async ของแอปพลิเคชัน และเก็บ URL ของ hub ไว้เป็นปลายทาง สำหรับการทดสอบ hub สาธารณะที่ได้รับอนุญาตโดยไม่มีข้อมูลรับรอง proxy ที่กำหนดไว้ รายการ 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 ที่ไม่เกี่ยวข้อง