การตั้งค่าพร็อกซีของ ASP.NET Core: launchSettings.json เทียบกับการใช้งานจริง
แยกค่าโปรกซ์ของโปรไฟล์การเปิดใช้งานสำหรับการพัฒนาออกจากสภาพแวดล้อมและตัวจัดการ HTTP ที่กระบวนการ ASP.NET Core ที่ปรับใช้แล้วใช้งาน
ค่าโปรกซ์ใน launchSettings.json เป็นของโปรไฟล์การเปิดใช้งานสำหรับการพัฒนา การเผยแพร่แอปพลิเคชันไม่ได้ทำให้โปรไฟล์นั้นเป็นสภาพแวดล้อมของเวิร์กเกอร์ IIS บริการ หรือคอนเทนเนอร์
เมื่อเกิดความล้มเหลวในสภาพแวดล้อมที่ปรับใช้แล้ว ให้ตรวจสอบกระบวนการที่เริ่มแอปพลิเคชันจริง สภาพแวดล้อม บัญชี และตัวจัดการ HTTP ของกระบวนการนั้นเป็นตัวกำหนดว่ามีอินพุตพร็อกซีใดบ้าง
| ทำงานที่ไหน | สิ่งที่ต้องเปรียบเทียบหลังการปรับใช้ |
|---|---|
| โปรไฟล์การเปิดใช้งานใน IDE | สภาพแวดล้อมของกระบวนการโฮสต์ |
| เซสชันผู้ใช้แบบโต้ตอบ | บัญชีบริการและการตั้งค่าพร็อกซีของบัญชีนั้น |
| ไคลเอนต์ HTTP ที่สร้างด้วยมือ | ตัวจัดการที่ไคลเอนต์ที่ถูกฉีดเข้าของแอปพลิเคชันใช้งาน |
การเริ่มต้นพร็อกซีเริ่มต้นของ HttpClient สมัยใหม่มีกฎเกี่ยวกับสภาพแวดล้อมและการกำหนดค่าระบบที่เฉพาะกับแพลตฟอร์ม ตัวจัดการที่กำหนดค่าไว้อย่างชัดเจนสามารถแทนที่ค่าเริ่มต้นเหล่านั้นได้ เมื่อใช้ IHttpClientFactory ให้ตรวจสอบ การลงทะเบียนตัวจัดการหลักของไคลเอนต์ที่ตั้งชื่อ และชื่อที่ได้รับ ณ จุดเรียกใช้ ตรวจสอบอินพุตทั้งสองก่อนสรุปว่าไฟล์การกำหนดค่าถูกเพิกเฉย
ตัวอย่าง system.net/defaultProxy แบบเก่าของ .NET Framework อธิบายโมเดลการกำหนดค่าอีกแบบหนึ่ง อย่าวางส่วนนั้นลงในไฟล์การปรับใช้สมัยใหม่ และอย่าสมมติว่าทุกการใช้งาน HTTP ของ .NET ใช้ส่วนนั้น ในการปรับใช้ผ่าน IIS โมดูล ASP.NET Core ก็มีกลไกการกำหนดค่าสภาพแวดล้อมของกระบวนการที่รองรับเช่นกัน ให้คงส่วนที่เหลือของการกำหนดค่าโฮสติ้งไว้เมื่อเพิ่มค่า
บันทึกว่าตัวแปรที่คาดไว้มีอยู่หรือไม่ โดยไม่เผยแพร่ค่าทั้งหมดที่มีข้อมูลรับรอง จากนั้นยืนยันว่าไคลเอนต์ที่ทำคำขอที่ล้มเหลวใช้แหล่งข้อมูลนั้น ตัวเรียกใช้ที่กำหนดค่าอย่างถูกต้องไม่สามารถซ่อมไคลเอนต์ที่จงใจใช้เส้นทางอื่นได้