Verhinderung von browser-timeout an große Datei-uploads
Ich habe ein nettes kleines Datei-upload-Kontrolle, die ich schrieb, für ASP.NET webforms nutzt ein IFrame und ASP.NET AJAX.
Jedoch auf große uploads, den browser mal aus, bevor er beenden kann Veröffentlichung form.
Gibt es eine Möglichkeit, kann ich diese erhöhen?
Ich bin nicht wirklich interessant, die in alternative Lösungen, so schlagen nicht vor, die änderung der ganzen Sache, bitte. Es funktioniert gut für <5 meg uploads, ich möchte nur, um es zu bekommen bis zu etwa 8 MB.
BEARBEITEN: Einstellung des timeout in Page_Load nicht erscheinen, etwas zu ändern.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Benötigen Sie ein update-metabasiseinstellung auf IIS6 und später. Der Schlüssel ist "AspMaxRequestEntityAllowed" und ist ausgedrückt in bytes. Ich empfehle die Metabase Explorer, um die änderung vorzunehmen, waten durch den XML - %systemroot%\system32\inetserv\metabase.xml ist möglich, obwohl.
Metabase Explorer: http://support.microsoft.com/kb/840671
Hmmm, vielleicht bin ich auf dem Holzweg... Sie würden das nicht tun, 5 MB-Dateien, wenn das nicht schon eingestellt.
Einem anderen Stich an Sie: sehen Sie Ihre web.config:
Max Wunsch-Länge wird in Bytes, kilobytes und execution timeout in Sekunden.
Platzieren Sie diese in Ihrem web.config
Ermöglicht eine 360-Sekunden-timeout und 100.000 Kb hochladen von Daten zu einer Zeit.
Wenn das nicht funktioniert, führen Sie diesen Befehl auf dem IIS-server. (ersetzen Sie [IISWebsitename])
Ermöglicht 100,000,000 bytes des upload-Daten zu einer Zeit.
In der Page_Load -, set-Server.ScriptTimeout auf einen Wert, der für Sie arbeitet. In Sekunden gemessen, glaube ich.
Ich denke, dass Sie möglicherweise anpassen müssen, um die MaxRequestLength
Seine im Web.config-ich denke, standardmäßig seine 4megs.
Den folgenden erlauben würde ~10 meg-Datei:
Öffnen Sie Ihr Web.config-Datei, und gerade unter den
<system.web>
tag, fügen Sie das folgende tag:<httpRuntime
executionTimeout="90"
maxRequestLength="4096"
useFullyQualifiedRedirectUrl="false"
minFreeThreads="8"
minLocalRequestFreeThreads="4"
appRequestQueueLimit="100"
enableVersionHeader="true"
/>
Nun, nehmen Sie nur einen Blick auf die maxRequestLength="4096" - Attribut des
<httpRuntime>
tag. Wie Sie vielleicht gemerkt haben, ist alles was Sie tun müssen, ist ändern Sie den Wert auf einen anderen Wert Ihrer Wahl (8192 für 8 Mb, 16384 für 16 Mb, 65536 64 Mb, und so weiter...).Überprüfen Sie den code von Velodoc XP Edition. Es beinhaltet ein upload-streaming-Modul, eine fortsetzbare download handler und ASP.NET upload-Steuerelemente basierend auf ASP.NET Ajax extensions, und es ist alles open source.
Für mehr Informationen schauen Sie auch http://www.memba.com und http://www.velodoc.com.
Ich löste diese mit Hilfe von PHP mit HTML:
Zeit
Seite timer