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

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 329781 - Zobacz jakich produktów dotyczą zawarte w tym artykule porady.
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
Rozwiń wszystko | Zwiń wszystko

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:
http://msdn2.microsoft.com/en-us/library/aa384247.aspx
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

Numer ID artykułu: 329781 - Ostatnia weryfikacja: 5 marca 2007 - Weryfikacja: 4.2
Informacje zawarte w tym artykule dotyczą:
  • 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 na następujących platformach
    • Microsoft Windows XP Home Edition
    • Microsoft Windows XP Professional
    • Microsoft Windows XP Media Center Edition
    • Microsoft Windows XP Tablet PC Edition
    • Microsoft Windows 2000 Advanced Server
    • Microsoft Windows 2000 Datacenter Server
    • Microsoft Windows 2000 Professional Edition
    • Microsoft Windows 2000 Server
    • Microsoft Windows NT Server 4.0 Standard Edition
    • Microsoft Windows NT Server 4.0, Terminal Server Edition
    • Microsoft Windows NT Workstation 4.0 Developer Edition
    • Microsoft Windows Millennium Edition
    • Microsoft Windows 98 Second Edition
Słowa kluczowe: 
kbprb KB329781

Przekaż opinię

 

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