Azure Notification Hubs .NET: การตั้งค่า proxy แบบใดชนะ?
กำหนดค่า NotificationHubSettings.Proxy หรือ HTTP transport ที่จัดหาให้ โดยคำนึงถึงลำดับความสำคัญของ HttpClient และ MessageHandler ของ constructor
ใน Notification Hubs .NET API เมื่อใช้ NotificationHubSettings สามารถจัดหา proxy ขณะสร้างไคลเอนต์ได้:
var settings = new Microsoft.Azure.NotificationHubs.NotificationHubSettings
{
Proxy = new System.Net.WebProxy("http://proxy.example:8080")
};
var hub = new Microsoft.Azure.NotificationHubs.NotificationHubClient(
hubConnectionString, hubName, settings);
สตริงการเชื่อมต่อและชื่อฮับยังคงเป็นการกำหนดค่าของบริการ ปลายทาง HTTP สาธารณะจากรายการ proxy HTTPสามารถเติมที่อยู่ WebProxy ในเส้นทางการสร้างเริ่มต้นได้
มีกฎลำดับใน constructor นั้น:
- ใช้ HttpClient ที่จัดหาให้ก่อน
- มิฉะนั้น MessageHandler ที่จัดหาให้จะสร้าง HTTP client
- มิฉะนั้น Proxy จะสร้าง HttpClientHandler ที่กำหนดค่าสำหรับ proxy
- หากไม่ได้จัดหาใด ๆ constructor จะสร้าง HTTP client เริ่มต้นของตน
หากแอปพลิเคชันจัดหา HttpClient หรือ MessageHandler อยู่แล้ว ให้กำหนดค่า proxy ของ transport นั้นแทนที่จะคาดว่าคุณสมบัติ Proxy แยกจะเขียนทับ
สำหรับบัญชี proxy ให้ตั้งค่าข้อมูลรับรองบน WebProxy ก่อนการสร้าง ข้อมูลนั้นตรวจสอบกับตัวกลาง ไม่ใช่กับ Notification Hub
ตัวอย่างเก่ากล่าวถึง NotificationHubClientSettings ให้จับคู่ชนิด settings และ constructor ที่แพ็กเกจที่ติดตั้งเปิดเผย แทนการผสมชื่อนั้นเข้าใน API ที่คาดหวัง NotificationHubSettings