Zobrazí jednu nebo více chybové zprávy při pokusu o provedení požadavku protokolu HTTP v aplikaci, která je vytvořena na.Rozhraní .NET Framework 1.1 Service Pack 1

Překlady článku Překlady článku
ID článku: 915599 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Tento článek popisuje chybové zprávy, které se mohou zobrazit při použití aplikace Microsoft.NET Framework 1.1 Service Pack 1 (SP1) tak, aby požadavky HTTP nebo při volání webové služby.

Příznaky

Při pokusu o provedení požadavku protokolu HTTP v aplikaci, je vytvořena.NET Framework, můžete obdržet jednu nebo více z následujících chybové zprávy:
Chybová zpráva 1
Nadřízené připojení bylo uzavřeno: nelze připojení ke vzdálenému serveru.
Chybová zpráva 2
Nadřízené připojení bylo uzavřeno: Při odeslání došlo k neočekávané chybě.
Chybová zpráva 3
Nadřízené připojení bylo uzavřeno: došlo k neočekávané chybě při příjmu.
Chybová zpráva 4
Nadřízené připojení bylo uzavřeno: Server potvrdil narušení protokolu HTTP.
Chybová zpráva 5
Nadřízené připojení bylo uzavřeno: nelze Nelze vytvořit zabezpečený kanál pro protokol SSL/TLS.
Chybová zpráva 6
Má operace Vypršel

Příčina

Chybová zpráva 1

Problém nastane, když.Nelze vytvořit rozhraní .NET Framework připojení ke vzdálenému serveru. Tento problém může nastat, když jeden nebo více jsou-li splněny následující podmínky:
  • Dojde k výpadku sítě.
  • Proxy server blokuje požadavku protokolu HTTP.
  • Dojde k potížím Domain Name System (DNS).
  • Dojde k potížím ověřování sítě.
Chcete-li tento problém vyřešit, naleznete v části řešení A, B a C.

Chybová zpráva 2

K tomuto problému dochází v případě, že klientský počítač nemůže odeslat HTTP požadavek. Klientský počítač nelze odeslat požadavek HTTP, protože připojení byla uzavřena nebo není k dispozici. K tomuto problému může dojít, pokud klientský počítač odesílá velké množství dat. Chcete-li tento problém vyřešit, rozlišení A, D, E, F a O.

Chybová zpráva 3

Problém nastane, když server nebo jiné síťové zařízení neočekávaně ukončí existující připojení Transmission Control Protocol (TCP). Tento problém může nastat, když hodnotu časového limitu na serveru nebo v síti zařízení je nastavena příliš nízká. Tento problém vyřešit, naleznete v tématu řešení A, D, E, F, a O. problému může dojít, že pokud server neočekávaně resetuje připojení, například v případě zhroucení neošetřené výjimce serverového procesu. Analýza protokolů serveru zobrazíte, pokud to může být problém.

Chybová zpráva 4

Problém nastane, když.NET Framework zjistí, odpověď serveru není v souladu s RFC protokolu HTTP 1.1. Tento problém může nastat při odpověď obsahuje nesprávné záhlaví nebo nesprávná záhlaví oddělovače. K Tento problém vyřešit, naleznete v tématu řešení a a G.

Další informace o záhlaví HTTP naleznete na následujícím webu World Wide Web Consortium:
http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.HTML#sec6
Microsoft poskytuje informací o technické podpory. Tyto kontaktní informace mohou změnit bez předchozího upozornění. Společnost Microsoft tak nečiní zaručit přesnost kontaktních informací jiných výrobců.

Chybová zpráva 5

Tento problém může nastat, když jeden nebo více z následujících jsou-li splněny podmínky:
  • Používáte certifikát klienta neplatná nebo neplatný certifikát serveru.
  • Dochází k problému s připojením TCP.
  • Klientský počítač odesílá velké množství dat.
  • Časový limit na serveru nebo v jiné síti zařízení je nastavena příliš nízká.
  • Dochází kompatibilitu s protokolem HTTPS došlo k potížím.
Problémy připojení TCP viz rozlišení A, D, E, F a O. Klientský certifikát problémy a potíže s certifikátem serveru naleznete v tématu rozlišení h a I. Problémy s kompatibilitou protokol HTTPS naleznete v části řešení J.

Chybová zpráva 6

K tomuto problému dochází, pokud je dosaženo hodnoty časového limitu pro klienta dříve, než dojde k jedné z následujících podmínek:
  • Zřizuje se připojení HTTP.
  • Odpověď HTTP je přijata ze serveru.
  • Datový proud zcela zapsána nebo číst.
Tento problém vyřešit, naleznete v tématu řešení A, E, K, L, M, a N.

Řešení

Poznámka: Následující seznam obsahuje možných řešení, které může použít. Pokud nastane jedna z těchto problémů. Ne všechny tyto rezoluce platí pro všechny tyto problémy. V popisech problém v části "Příčina" určení rozlišení, které se vztahuje.

Rozlišení A

Chcete-li tento problém vyřešit, zkontrolujte, zda používáte nejvíce poslední verze.Rozhraní .NET Framework. Další informace získáte klepnutím na následující číslo článku zobrazení článku znalostní báze Microsoft Knowledge Base:
318785Jak zjistit, která verze.Rozhraní .NET Framework jsou instalovány a zda byly použity aktualizace service Pack

Rozlišení B

Chcete-li tento problém vyřešit, přesvědčte se, zda se nastavení serveru proxy Opravte. Chcete-li to provést, použijte následující postupy:
  • Použít statický WebProxy.GetDefaultProxy Metoda. Další informace navštivte následující Web společnosti Microsoft Server:
    http://msdn2.microsoft.com/en-us/library/System.NET.WebProxy.getdefaultproxy (vs.71) .aspx
  • Definovat <proxy></proxy> prvek v konfiguračních souborech aplikací. Další informace informace, navštivte následující Web společnosti Microsoft:
    http://msdn2.microsoft.com/en-us/library/aa903369 (VS.71) .aspx
  • Konfigurace.NET klient použít protokol HTTP 1.0 změnou HttpWebRequest.ProtocolVersion Vlastnost. Další informace navštivte následující Web společnosti Microsoft Server:
    http://msdn2.microsoft.com/en-us/library/System.NET.HttpWebRequest.ProtocolVersion (vs.71) .aspx
    Poznámka: Standardně.NET Framework používá protokol HTTP 1.1.
  • Pokud používáte zabezpečení SSL (protokol SSL (Secure Sockets Layer)), ujistěte se, že Server proxy není nakonfigurována žádná pravidla, které brání jejímu použití HTTPS.
  • Používáte-li autoproxy, klepněte na následující článek znalostní báze Microsoft Knowledge Base:
    873199 Použití autoproxy ve spravovaném kódu

Rozlišení C

Chcete-li tento problém vyřešit, přesvědčte se, zda má aplikace oprávnění pro volání v síti a volání soketu. Toto řešení použije aplikace, provede HttpWebRequest uvnitř webové aplikace se spustí volání. Je možné, že budete muset udělit pro čtení oprávnění ASPNET účtu tak, že dostanete následující zdroje:
  • Zprostředkovatel Microsoft WinSockProxy WS2.0 (Wspwsp.dll) soubor
  • Na
    HKLM\System\CurrentControlSet\Services\DnsCache
    klíč registru
  • Na
    HKLM\System\CurrentControlSet\Services\WinSock2
    klíč registru
Poznámka: Chcete-li zjistit, zda má pracovní proces ASPNET nezbytné oprávnění, použijte nástroj FileMon a nástroj RegMon. Ke stažení Nástroj FileMon a nástroje RegMon, naleznete na následujícím webu společnosti Sysinternals Server:
http://technet.microsoft.com/en-us/Sysinternals/default.aspx
Na produkty třetích stran popisované v tomto článku vyrábějí společnosti které jsou nezávislé na společnosti Microsoft. Společnost Microsoft neposkytuje žádnou záruku, předpokládané nebo v opačném případě týkající se výkonu nebo spolehlivosti těchto produktů.

Rozlišení D

Chcete-li tento problém vyřešit, zakažte funkci keep alive. V .NET Framework nastavit HttpWebRequest.KeepAlive Vlastnost na hodnotu FALSE. Při volání webové služby, postupujte Tyto kroky.

Poznámka: Zachování funkce je vyžadována pro ověřování NTLM.
  1. Vytvořit novou třídu ze serveru proxy generovaných Třída.
  2. Přidat metodu třídy přepsat GetWebRequest Metoda. Tato změna umožní přístup HttpWebRequest objekt. Pokud používáte Microsoft Visual C#, musí nová metoda být podobné následujícímu.
    class MyTestService:TestService.TestService
    {
        protected override WebRequest GetWebRequest(Uri uri)
        {
            HttpWebRequest webRequest = (HttpWebRequest) base.GetWebRequest(uri);
            //Setting KeepAlive to false
            webRequest.KeepAlive = false;
            return webRequest;
        }
    }
    Používáte-li aplikace Microsoft Visual Basic.NET, musí být nová metoda podobný následujícímu.
    Class MyTestService 
         Inherits TestService.TestService
            Protected Overrides Function GetWebRequest(ByVal uri As Uri) As System.Net.WebRequest
                Dim webRequest As System.Net.HttpWebRequest
                webRequest = CType(MyBase.GetWebRequest(uri), System.Net.HttpWebRequest)
               'Setting KeepAlive to false 
                webRequest.KeepAlive = False
                GetWebRequest = webRequest
            End Function
    End Class
  3. Vytvoření instance nové třídy a pomocí nové Třída volat metodu webové služby.

Překlad E

Chcete-li tento problém vyřešit, nastavte ServicePointManager.MaxServicePointIdleTime vlastnosti menší než hodnota časového limitu zachování serveru připojení.

Poznámky
  • Když ServicePoint byl objekt je již na dobu, která je zadána v MaxIdleTime Vlastnost, je způsobilé pro úklid.
  • Zkontrolujte, zda ServicePointManager.MaxServicePointIdleTime vlastnost nastavena před všechny požadavky HTTP. Další informace informace týkající ServicePointManager.MaxSercvePointIdleTime Vlastnost, navštivte následující Web společnosti Microsoft:
    http://msdn2.microsoft.com/en-us/library/System.NET.ServicePointManager.maxservicepointidletime (vs.71) .aspx

Rozlišení F

Chcete-li tento problém vyřešit, zvyšte hodnotu časového limitu na serveru počítačem a ostatními síťovými zařízeními. Zvyšte hodnotu časového limitu v (IIS) 6.0, postupujte takto:
  1. Klepněte na tlačítko Spustit, klepněte na tlačítko Ovládací prvek Panel, klepněte na tlačítko Nástroje pro správua klepněte na tlačítkoInternetová informační služba (IIS) Manager.
  2. Klepněte na název počítače, který chcete Nakonfigurujte znovu a klepněte na tlačítko Webové servery.
  3. Klepněte pravým tlačítkem myši webový server, který chcete změnit konfiguraci, a Klepněte na tlačítko Vlastnosti.
  4. Zadejte novou hodnotu v Časový limit připojenípole a pak klepněte na tlačítko OK.
  5. V Soubor nabídky, klepněte na tlačítkoKonec.

Rozlišení G

Chcete-li tento problém vyřešit, nastavte useUnsafeHeaderParsing k PRAVDA. Další informace o useUnsafeHeaderParsing vlastnosti, klepněte na následující číslo článku v následujícím článku Znalostní báze Microsoft Knowledge Base:
888528Seznam chyb opravených.NET Framework 1.1 Service Pack 1 ale nejsou popsáno jinde v jednotlivých článcích znalostní báze Microsoft Knowledge Base:

Rozlišení H

Chcete-li tento problém vyřešit, zadejte platný klientský certifikát pro aplikace. Další informace o použití klientských certifikátů získáte v následujících článcích zobrazte články znalostní báze Microsoft Knowledge Base:
901183Jak volání webové služby pomocí klientských certifikátů pro ověřování v ASP.NET webové aplikace
895971 Jak poslat klientského certifikátu pomocí třídy HttpWebRequest a HttpWebResponse v Microsoft Visual C#.NET

Rozlišení lze

Chcete-li tento problém vyřešit, zadejte platné bezpečnostní osvědčení server. Navíc je možné tento problém vyřešit instalací certifikát kořenového certifikačního úřadu (CÚ) nebo opravou společné název certifikátu serveru. Další informace o pojmenování certifikát serveru Klepnutím na následující číslo článku Microsoft Znalostní báze Knowledge Base:
813618Výstraha zabezpečení: název certifikátu zabezpečení není platný nebo neodpovídá názvu serveru
Upozornění Toto řešení může lépe počítače nebo sítě útoku uživatelů se zlými úmysly nebo škodlivému softwaru, například viry. Doporučujeme toto řešení nedoporučujeme, ale poskytujeme tyto informace takže můžete řešení implementovat vlastního uvážení. Pomocí této řešení na vlastní nebezpečí.

Můžete také upravit kód aplikace ignorovat tato upozornění certifikátu. Chcete-li to provést, implementace vlastní ICertificatePolicy rozhraní. Potom můžete nastavit ServicePointManager.CertificatePolicy v instanci zásady certifikátu před webu použít vlastnost Metoda služby při volání.

Poznámka: Na ICertificatePolicy.CheckValidationResult metodu implementuje zásady ověřování certifikátů aplikace. Další informace o ICertificatePolicy.CheckValidationResult Metoda, navštivte následující Web společnosti Microsoft:
http://msdn2.microsoft.com/en-us/library/System.NET.icertificatepolicy.checkvalidationresult (vs.71) .aspx
Další informace a ukázku kódu klepnutím na následující číslo článku zobrazení článku znalostní báze Microsoft Knowledge Base:
823177PRB: "System.Net.WebException. Nadřízené připojení bylo uzavřeno. Chybová zpráva Nelze vytvořit vztah důvěryhodnosti se vzdáleným serverem"při upgradu.NET Framework
Důležité Doporučujeme není ignorovat upozornění týkající se certifikátu SSL v kódu z důvodu bezpečnostním rizikům.

Rozlišení J

Chcete-li tento problém vyřešit, změňte z pomocí protokolu SSL protokol HTTPS Transport Level Security (TLS).

Poznámka: Používáte-li již TLS, změňte protokol HTTPS a SSL. K změnit protokol HTTPS v klientském počítači naleznete "ServicePointManager.SecurityProtocol Vlastnost"oddíl na následující Web společnosti Microsoft:
http://msdn2.microsoft.com/en-us/library/System.NET.ServicePointManager.SecurityProtocol.aspx
Poznámka: Například na podporu SSL3 protokol a protokol TLS1 pomocí kódu, který je podobný následujícímu.
ServicePointManager.SecurityProtocol= SecurityProtocolType.Ssl3|SecurityProtocolType.Tls;
Další informace informace o změně protokolu HTTPS na serveru, Klepnutím na následující číslo článku Microsoft Znalostní báze Knowledge Base:
187498Jak zakázat protokol PCT 1.0, SSL 2.0, SSL 3.0 nebo TLS 1.0 v Internetová informační služba

Rozlišení kB

Chcete-li tento problém vyřešit, zvyšte hodnotu maxConnection Vlastnost. To provedete revizi konfiguračních souborů pro aplikace nebo přidat kód aplikace.

Poznámka: Výchozí hodnota maxConnection Vlastnost je 2. Pro Microsoft ASP.Aplikace NET spojené, volání webové služby, doporučujeme nastavit hodnotu 12krát počet procesory. Chcete-li tuto hodnotu nastavit kód aplikace, použijte ServicePointManager.DefaultConnectionLimit Vlastnost. Další informace o ServicePointManager.DefaultConnectionLimit Vlastnost, navštivte následující Web společnosti Microsoft:
http://msdn2.microsoft.com/en-us/library/System.NET.ServicePointManager.defaultconnectionlimit (vs.71) .aspx
Pomocí konfiguračních souborů pro nastavení této hodnoty aplikace, přidejte následující kód do konfiguračního souboru.
<connectionManagement>
  <add address="*" maxconnection="12"/>
</connectionManagement>
Další informace o použití <connectionmanagement></connectionmanagement> prvek, navštivte následující Web společnosti Microsoft:
http://msdn2.microsoft.com/en-us/library/aa903351 (VS.71) .aspx

Rozlišení L

Chcete-li tento problém vyřešit, ujistěte se, že nastavení časového limitu na serveru a v jiné síti zařízení implementována správně. Další informace Klepnutím na následující informace o implementaci nastavení časového limitu článek znalostní báze Microsoft Knowledge Base:
904262Požadavek odeslaný třídou HttpWebRequest může přestat reagovat při použití třídy HttpWebRequest v ASP.NET aplikací

Rozlišení M

Chcete-li tento problém vyřešit, přečtěte si informace o prostředí ASP.NETTO výkon Optimalizace. Další informace o PROSTŘEDÍ ASP.Ladění výkonu sítě, klepněte na následující článek znalostní báze článek znalostní báze Microsoft Knowledge Base:
821268Konflikty, nízký výkon a zablokování při žádosti o webové služby z prostředí ASP.NET aplikací

Rozlišení N

Chcete-li tento problém vyřešit, zvýšení hodnoty časového limitu Chcete-li zobrazit vlastnosti v kódu aplikace klienta. Chcete-li to provést, použijte následující vlastnosti:
  • HttpWebRequest.Timeout
  • HttpWebRequest.ReadWriteTimeout
Další informace o HttpWebRequest.Timeout Vlastnost, navštivte následující Web společnosti Microsoft:
http://msdn2.microsoft.com/en-us/library/cy9yd268.aspx
Další informace o HttpWebRequest.ReadWriteTimeout Vlastnost, navštivte následující Web společnosti Microsoft:
http://msdn2.microsoft.com/en-us/library/b1w9c0s4.aspx

Usnesení O

Chcete-li tento problém vyřešit, zkontrolujte, zda klientský počítač nemá Odeslat HTTP 100-pokračovat v záhlaví. Dále se ujistěte, že klient počítač nelze očekávat HTTP 100-pokračovat v záhlaví.

Poznámka: Toto řešení je účinný pokud webový server nebo server proxy Server nepodporuje protokol HTTP 100-pokračovat v záhlaví. Další informace jak zakázat protokol HTTP 100-záhlaví pro klientský počítač pokračovat navštivte následující Web společnosti Microsoft:
http://msdn2.microsoft.com/en-us/library/System.NET.ServicePointManager.expect100continue.aspx

Odkazy

Další informace o výkonu při je volání webové služby z prostředí ASP.NET připojení aplikací, navštivte Následující Web společnosti Microsoft:
http://msdn2.microsoft.com/en-us/library/aa480507.aspx
Další informace o problémy s výkonem a zablokování problémy při provádění požadavků webových služeb ze PROSTŘEDÍ ASP.NET připojení aplikací klepněte následujícím článku znalostní báze článek znalostní báze Microsoft Knowledge Base:
821268Konflikty, nízký výkon a zablokování při žádosti o webové služby z prostředí ASP.NET aplikací
Další informace o tom, jak zlepšit výkonu ASP.NET připojení aplikací společnosti Microsoft následující Webový server:
http://msdn2.microsoft.com/en-us/library/ms998549.aspx
Další informace o tom, jak zlepšit výkon webu Services, navštivte následující Web společnosti Microsoft:
http://msdn2.microsoft.com/en-us/library/ms998562.aspx
Další informace o tom, jak vytvořit bezpečné prostředí ASP.Připojení sítě aplikace, navštivte následující Web společnosti Microsoft:
http://msdn2.microsoft.com/en-us/library/aa302408.aspx
Poznámka: Transportní protokol TCP používá pro požadavky HTTP. TCP je spolehlivé orientovaná na připojení s protokolem. Ale pokud dojde k ukončení připojení TCP aplikace neočekávaně, opakování požadavku. Další informace o protokol TCP a o chování klienta, je-li server ukončí připojení, naleznete na následujícím webu World Wide Web Consortium:
http://www.w3.org/Protocols/rfc2616/rfc2616-sec8.HTML#sec8.2.4
Microsoft poskytuje informací o technické podpory. Tyto kontaktní informace mohou změnit bez předchozího upozornění. Společnost Microsoft tak nečiní zaručit přesnost kontaktních informací jiných výrobců. Další informace o nástroji FileMon a nástroj RegMon článku znalostní báze databáze Microsoft Knowledge Base:
198038Užitečné nástroje pro problémy balíček a nasazení
Pro Další informace o programu Sledování sítě klepněte na následující článek čísla zobrazte články znalostní báze Microsoft Knowledge Base:
148942Jak sbírat síťové přenosy pomocí programu Sledování sítě
812953 Použití programu Sledování sítě zachytit provoz sítě

Vlastnosti

ID článku: 915599 - Poslední aktualizace: 22. května 2011 - Revize: 4.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft .NET Framework 1.1 Service Pack 1
Klíčová slova: 
kbtshoot kbprb kbmt KB915599 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:915599

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com