10

IFrame と ASP.NET AJAX を利用する ASP.NET Web フォーム用に作成した、小さなファイル アップロード コントロールがあります。

ただし、大規模なアップロードでは、フォームの送信が完了する前にブラウザーがタイムアウトします。

これを増やす方法はありますか?

私は代替ソリューションにはあまり興味がないので、すべてを変更することを提案しないでください。5 MB 未満のアップロードには適していますが、約 8 MB までアップロードしたいと考えています。

編集: Page_Load でタイムアウトを設定しても、何も変わらないようです。

4

7 に答える 7

11

IIS6 以降では、メタベース設定を更新する必要があります。キーは「 AspMaxRequestEntityAllowed」で、バイト単位で表されます。Metabase Explorer で変更を行うことを強くお勧めしますが、%systemroot%\system32\inetserv\metabase.xml にある XML を調べることは可能です。

メタベース エクスプローラー: http://support.microsoft.com/kb/840671

うーん、おそらく私は間違ったツリーを吠えています...まだ調整されていなければ、5 MB のファイルを処理することはありません。

別の刺し傷: web.config を参照してください:

<system.web>
  <httpRuntime  maxRequestLength="10240" executionTimeout="360"/>
</system.web>

リクエストの最大長はキロバイト単位で、実行タイムアウトは秒単位です。

于 2008-10-23T18:37:16.770 に答える
4

これをweb.configに配置します

  <system.web>
     <httpRuntime executionTimeout="360" maxRequestLength="100000" />

これにより、一度に360秒のタイムアウトと100,000Kbのアップロードデータが可能になります。

それでも問題が解決しない場合は、IISサーバーでこのコマンドを実行してください。([IISWebsitename]を置き換えます)

C:\Windows\System32\inetsrv>appcmd set config "[IISWebsitename]" -section:requestFiltering -requestLimits.maxAllowedContentLength:100000000 -commitpath:apphost

これにより、一度に1億バイトのアップロードデータが可能になります。

于 2010-07-21T22:09:58.130 に答える
2

Page_Load で、Server.ScriptTimeout を適切な値に設定します。私が信じている秒単位で測定されます。

于 2008-10-21T22:30:21.433 に答える
1

MaxRequestLengthを調整する必要があるかもしれないと思います

それはWeb.configにあり、デフォルトでは4メガだと思います。

以下では、最大 10 メガのファイルが許可されます。

<httpRuntime maxRequestLength="10240" />
于 2008-10-23T18:43:49.770 に答える
1

Web.config ファイルを開き、タグのすぐ下に<system.web>次のタグを追加します。

<httpRuntime executionTimeout="90" maxRequestLength="4096" useFullyQualifiedRedirectUrl="false" minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="100" enableVersionHeader="true" />

<httpRuntime>ここで、タグの maxRequestLength="4096" 属性を見てください。お気づきかもしれませんが、この値を任意の値に変更するだけです (8 Mb の場合は 8192、16 Mb の場合は 16384、64 Mb の場合は 65536 など)。

于 2016-02-03T06:12:07.227 に答える
-7

Velodoc XP Editionのコードを確認してください。これには、アップロード ストリーミング モジュール、再開可能なダウンロード ハンドラー、ASP.NET Ajax 拡張機能に基づく ASP.NET アップロード コントロールが含まれており、すべてオープン ソースです。

詳細については、www.memba.comおよびwww.velodoc.comも確認してください。

于 2008-12-02T10:37:41.920 に答える
-7

HTMLでPHPを使用してこれを解決しました:

  1. セッションを開始します
  2. ループに入る
  3. 一度にジョブの一部を実行するページをリロードするループを作成する
  4. 仕事が終わるまでやる
  5. ループ内のコードはジョブの一部を実行します
  6. ジョブの次の部分を指すようにセッション変数をインクリメントします
  7. java スクリプトを使用してページをリロードします //これにより、サーバーのページ タイマーが再起動します
  8. ループ
  9. ページを読み込んで、ジョブが完了したことを報告する
于 2011-03-06T22:39:23.683 に答える