狀況
假設您開發一個將 HTTPS 要求傳送至 web 伺服器會使用Windows.Web.Http.HttpClient類別的 Windows 存放區應用程式。當您擷取網路追蹤的應用程式與伺服器之間交換的流量時,您會發現Windows.Web.Http.HttpClient.GetStringAsync方法或其他類似的方法, Windows.Web.Http.HttpClient類別的每個呼叫會開啟新的連線到 web 伺服器。這項行為對應用程式效能有不利的影響。
注意Windows.Web.Http.HttpClient類別會使用 Windows 網際網路 (WinINet) 傳送 HTTPS 要求的 API。當您開發直接使用 WinINet API 的 Windows 桌面應用程式,並且您提供的HttpOpenRequest函式的INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS旗標時,也會發生這個問題。
解決方案
更新資訊
Internet Explorer 也會使用 WinINet API。若要解決這個問題,請安裝最新的 Internet Explorer 累積安全性更新。若要執行這項操作,請安裝這些更新。
如需 Internet Explorer 最新的累積安全性更新的技術資訊,請移至下列 Microsoft 網站:
http://www.microsoft.com/technet/security/current.aspx注意此更新程式先包含在安全性更新 2969262 中。
如需有關安全性更新 2969262,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件︰
2969262 MS14-035: Internet Explorer 累積安全性更新:,到 2014 年 6 月 10
因應措施
使用System.Net.Http.HttpClient類別
在開發 Windows 存放區應用程式時,可以不使用Windows.Web.Http.HttpClient類別來解決這個問題。相反地,您可以使用System.Net.Http.HttpClient類別,因為它有它自己的 HTTP 通訊協定實作。
不使用 INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS 旗標
您開發使用 WinINet API 的 Windows 桌面應用程式時,可以不使用HttpOpenRequest函式的INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS旗標來解決這個問題。
狀態
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 會使用來描述軟體更新術語。