Objawy
Załóżmy, że rozwój aplikacji magazynu systemu Windows, która korzysta z klasy Windows.Web.Http.HttpClient do wysyłania żądań HTTPS do serwera sieci web. Podczas przechwytywania śledzenia sieci ruchu wymieniane między aplikacji i serwer, można zauważyć, że każde wywołanie metodywindows.Web.http.httpclient.getstringasync lub innych podobnych metod klasy Windows.Web.Http.HttpClient otwiera nowe połączenia z serwerem sieci web. To zachowanie negatywnie wpływa na wydajność aplikacji.
Uwaga Klasa Windows.Web.Http.HttpClient używa Windows Internet (WinINet) interfejsu API w celu wysyłania żądań HTTPS. Ten problem występuje również podczas opracowywania aplikacji pulpitu systemu Windows, która używa interfejsu API WinINet bezpośrednio i podać internet_flag_ignore_redirect_to_https do funkcji HttpOpenRequest .
Rozwiązanie
Informacje o aktualizacji
Program Internet Explorer używa również interfejsu API WinINet. Aby rozwiązać ten problem, należy zainstalować najnowszą zbiorczą aktualizację zabezpieczeń dla programu Internet Explorer. Aby to zrobić, przejdź do Witryny Microsoft Update.
W celu uzyskania informacji technicznych dotyczących najnowszej zbiorczej aktualizacji zabezpieczeń dla programu Internet Explorer przejdź do następującej witryny firmy Microsoft:
http://www.microsoft.com/technet/security/current.aspxUwaga Ta aktualizacja została uwzględniona w aktualizacji zabezpieczeń 2969262.
Aby uzyskać więcej informacji na temat zabezpieczeń aktualizacji 2969262, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2969262 MS14-035: Zbiorcza aktualizacja zabezpieczeń dla programu Internet Explorer: 10 czerwca 2014
Obejście problemu
Użyj klasy System.Net.Http.HttpClient
Jeśli opracowywania aplikacji magazynu systemu Windows, można obejść ten problem przez nie za pomocą klasy Windows.Web.Http.HttpClient . Zamiast tego można użyć klasysystem.NET.http.httpclient, ponieważ ma własną implementację protokołu HTTP.
Nie należy używać flagi INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS
Jeśli opracowywania aplikacji pulpitu systemu Windows, który używa interfejsu API WinINet, można obejść ten problem przez nie za pomocą internet_flag_ignore_redirect_to_https do funkcji HttpOpenRequest .
Stan
Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji „Dotyczy”.
Więcej informacji
Aby uzyskać więcej informacji na temat klasywindows.Web.http.httpclient przejdź do następującej witryny firmy Microsoft:
Ogólne informacje o klasie Windows.Web.Http.HttpClientPrzykładowy kod o klasie Windows.Web.Http.HttpClient przejdź do następującej witryny firmy Microsoft:
Przykładowy kod o klasie Windows.Web.Http.HttpClientAby uzyskać więcej informacji na temat funkcji HttpOpenRequest przejdź do następującej witryny firmy Microsoft:
Ogólne informacje dotyczące funkcji HttpOpenRequestAby uzyskać więcej informacji na temat klasysystem.NET.http.httpclient przejdź do następującej witryny firmy Microsoft:
Ogólne informacje o klasysystem.NET.http.httpclientZobacz terminologii stosowanej przez firmę Microsoft do opisywania aktualizacji oprogramowania.