อาการ
สมมติว่า คุณพัฒนาโปรแกรมประยุกต์ที่ร้านค้าของ Windows ที่ใช้คลาสWindows.Web.Http.HttpClientเพื่อส่งคำขอ HTTPS ไปยังเว็บเซิร์ฟเวอร์ เมื่อคุณจับภาพการตรวจสอบเครือข่ายของปริมาณการใช้งานการแลกเปลี่ยนระหว่างแอพลิเคชันและเซิร์ฟเวอร์ คุณสังเกตเห็นว่า แต่ละการเรียกไปยังเมธอดWindows.Web.Http.HttpClient.GetStringAsyncหรือวิธีอื่นที่คล้ายคลึงกันของคลาWindows.Web.Http.HttpClientเปิดการเชื่อมต่อใหม่ไปยังเว็บเซิร์ฟเวอร์ ผลการทำงานนี้มีผลต่อประสิทธิภาพการทำงานของโปรแกรมประยุกต์
หมายเหตุ คลาWindows.Web.Http.HttpClientใช้ Windows Internet (WinINet) API เพื่อส่งคำขอ HTTPS นอกจากนี้ปัญหานี้เกิดขึ้นเมื่อคุณพัฒนายัง Windows เดสก์ท็อปแอพลิเคชันที่ใช้ WinINet API โดยตรง และคุณใส่ค่าสถานะINTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPSไปยังฟังก์ชันHttpOpenRequest
การแก้ปัญหา
ข้อมูลการปรับปรุง
Internet Explorer ใช้ WinINet API นี้ เมื่อต้องการแก้ไขปัญหานี้ ติดตั้งปรับปรุงการรักษาความปลอดภัยล่าสุดสำหรับ Internet Explorer เมื่อต้องการทำเช่นนี้ ไปที่Microsoft Update
สำหรับข้อมูลทางเทคนิคเกี่ยวกับการปรับปรุงการรักษาความปลอดภัยล่าสุดสำหรับ Internet Explorer ไปที่เว็บไซต์ของ Microsoft ต่อไปนี้:
http://www.microsoft.com/technet/security/current.aspxหมายเหตุ โปรแกรมปรับปรุงนี้ถูกรวมอยู่ในการปรับปรุงความปลอดภัย 2969262 ครั้งแรก
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับความปลอดภัยของอัพเด 2969262 ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
2969262 MS14-035: ปรับปรุงการรักษาความปลอดภัยสำหรับ Internet Explorer: 10 มิถุนายน 2014
วิธีแก้ปัญหา
ใช้คลาสSystem.Net.Http.HttpClient
ถ้าคุณพัฒนาแอพลิเคชัน Windows เก็บ คุณสามารถหลีกเลี่ยงปัญหานี้ โดยใช้คลาสWindows.Web.Http.HttpClientไม่ แทน คุณสามารถใช้คลาSystem.Net.Http.HttpClientเนื่องจากมีการดำเนินการโพรโทคอล HTTP ของตนเอง
ใช้ค่าสถานะ INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS
ถ้าคุณพัฒนายัง Windows เดสก์ท็อปแอพลิเคชันที่ใช้ WinINet API คุณสามารถหลีกเลี่ยงปัญหานี้ โดยการใช้ค่าสถานะINTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPSไปยังฟังก์ชันHttpOpenRequestไม่
สถานะ
Microsoft ยืนยันว่านี่เป็นปัญหาในผลิตภัณฑ์ของ Microsoft ซึ่งแสดงไว้ในส่วน "นำไปใช้กับ"
ข้อมูลเพิ่มเติม
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับคลาสWindows.Web.Http.HttpClientไปที่เว็บไซต์ของ Microsoft ต่อไปนี้:
ข้อมูลทั่วไปเกี่ยวกับคลาส Windows.Web.Http.HttpClientสำหรับตัวอย่างรหัสเกี่ยวกับคลาสWindows.Web.Http.HttpClientไปที่เว็บไซต์ของ Microsoft ต่อไปนี้:
โค้ดตัวอย่างเกี่ยวกับคลาส Windows.Web.Http.HttpClientสำหรับข้อมูลเพิ่มเติมเกี่ยวกับฟังก์ชันHttpOpenRequestไปที่เว็บไซต์ของ Microsoft ต่อไปนี้:
ข้อมูลทั่วไปเกี่ยวกับฟังก์ชัน HttpOpenRequestสำหรับข้อมูลเพิ่มเติมเกี่ยวกับคลาสSystem.Net.Http.HttpClientไปที่เว็บไซต์ของ Microsoft ต่อไปนี้:
ข้อมูลทั่วไปเกี่ยวกับคลาส System.Net.Http.HttpClientดูคำศัพท์เฉพาะทางที่ Microsoft ใช้เพื่ออธิบายปรับปรุงซอฟต์แวร์