Jesteś obecnie w trybie offline. Czekamy na ponowne połączenie z Internetem.

Ukończenie operacji wysyłania pliku HTTP zajmuje dużo czasu

WAŻNE: Ten artykuł zawiera informacje na temat modyfikowania rejestru. Przed edycją rejestru należy utworzyć jego kopię zapasową i upewnić się, że zna się metodę przywracania rejestru w przypadku pojawienia się problemu. Aby uzyskać informacje dotyczące wykonywania kopii zapasowej, przywracania i edytowania rejestru, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
256986 Opis rejestru systemu Microsoft Windows
Symptomy
W przypadku użycia funkcji wysyłania pliku HTTP w celu wysłania plików o rozmiarach wielu megabajtów ukończenie operacji wysyłania może trwać bardzo długo.

Uwaga: Ten problem został opisany w dokumencie RFC 1867 zatytułowanym „Form-based File Upload in HTML”.
Przyczyna
Ten problem występuje, ponieważ domyślny bufor wysyłania protokołu Winsock ma rozmiar 8 kilobajtów (KB) i dlatego program Internet Explorer dostarcza dane w 8-kilobajtowych fragmentach. W sieciach o średniej szybkości odpowiada to około 80 KB na sekundę (KB/s), niezależnie od przepustowości sieci.

Aby uzyskać dodatkowe informacje, kliknij numer artykułu poniżej w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
214397INFORMACJE: Design Issues — Sending Small Data Segments Over TCP w/Winsock
Rozwiązanie
Aby rozwiązać ten problem, skonfiguruj program Internet Explorer, aby zwiększyć rozmiar buforu wysyłania podczas komunikacji przy użyciu protokołu Winsock. Zwiększa to wydajność sieci podczas korzystania z metody wysyłania plików za pomocą protokołu HTTP. Aby to zrobić, wykonaj następujące kroki.

OSTRZEŻENIE: Nieprawidłowe korzystanie z Edytora rejestru może stać się przyczyną poważnych problemów, które spowodują, że konieczna będzie ponowna instalacja systemu operacyjnego. Firma Microsoft nie może zagwarantować, że rozwiązanie problemów spowodowanych niepoprawnym użyciem Edytora rejestru będzie możliwe. Możesz używać Edytora rejestru na własną odpowiedzialność.
  1. Uruchom Edytor Rejestru (Regedt32.exe).
  2. Zlokalizuj i kliknij następujący klucz rejestru:
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
  3. W menu Edycja kliknij polecenie Dodaj wartość, a następnie dodaj następującą wartość rejestru:
    Nazwa wartości: SocketSendBufferLength
    Typ danych: REG_DWORD
    Podstawa: Dziesiętna
    Dane wartości: Żądany rozmiar buforu (w bajtach)
    Opcje wartości rozmiaru buforu:
    Bufor 16 KB = 16384
    Bufor 24 KB = 24576
    Bufor 32 KB = 32768
    Bufor 40 KB = 40960
    Bufor 48 KB = 49152
    Bufor 56 KB = 57344
    Bufor 64 KB = 65536
  4. Zamknij Edytor rejestru.
Upewnij się, aby przetestować poszczególne wartości, rozpoczynając od buforu 16 KB. Jeśli wydajność wysyłania plików będzie możliwa do zaakceptowania, wybierz odpowiednią wartość rozmiaru buforu.
Stan
Takie zachowanie jest zgodne z projektem programu.
Więcej informacji
Po zastosowaniu procedury opisanej w sekcji „Rozwiązanie” tego artykułu każdy program używający funkcji HTTPSendRequest interfejsu WININETAPI (udokumentowanej w następującej witrynie Microsoft Developer Network, MSDN, w sieci Web) będzie przydzielał bufor wysyłania protokołu Winsock o rozmiarze zdefiniowanym przez ten klucz rejestru i będzie go żądał.

Aby uzyskać dodatkowe informacje dotyczące funkcji HTTPSendRequest, odwiedź następującą witrynę MSDN w sieci Web:Aby uzyskać dodatkowe informacje dotyczące buforu wysyłania protokołu Winsock, kliknij numer artykułu poniżej w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
214397INFO: Design Issues — Sending Data Segments Over TCP w/Winsock
Właściwości

Identyfikator artykułu: 329781 — ostatni przegląd: 03/05/2007 03:46:00 — zmiana: 4.2

  • Microsoft Internet Explorer 5.5
  • Microsoft Internet Explorer 5.5
  • Microsoft Internet Explorer 5.5
  • Microsoft Internet Explorer 5.5
  • Microsoft Internet Explorer 5.01
  • Microsoft Internet Explorer 6.0
  • kbprb KB329781
Opinia