ก่อนเริ่มต้นไคลเอ็นต์ 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 ที่ไม่เกี่ยวข้อง

บทความที่เกี่ยวข้อง