2011-01-21 30 views
11

現在、ファイルをアップロードしているASP.NET MVCプロジェクトがあり、ユーザーの接続が十分で、ファイルのサイズが合理的である場合はうまくいきます。ASP.NET MVCアップロードファイルのタイムアウト

私が遭遇している問題は、ユーザーが56kの接続を持つことがあるということです(この日や年齢でどのように暮らしているのかわかりません)。二つ。

私は通常のページ(90秒程度)のタイムアウトを小さくしたいと思いますが、ユーザーがアップロードしているアクションのタイムアウトを大きくすることができます。これは単なるアクションなので、汎用ソリューションではなく単なるアクションの中にコードを入れても構いません。

最終的には、Request.Files.Count> 0が最適な場合に自動的にタイムアウトを増加させるソリューションです。

あなたはweb.configファイルでタイムアウトを増やす必要があります
+5

私はダイヤルアップしています。私はジャマイカに住んでいます。 –

+0

タイムアウトとは何ですか? 90秒後にクライアントから何も取得していない場合は、おそらく何かを正常にアップロードするつもりはありません。 – chris

+0

私は連続してデータを受信して​​いますが、56kを超えても10メガを送信するには90秒以上かかるでしょう。 – ckknight

答えて

8

これはMVCプロジェクトではうまくいくのかどうかわかりませんが、web.configで場所を作成し、アップロードURLだけの実行タイムアウトを設定してみてください。たとえば、次のように

<location path="YourUrl"> 
    <system.web> 
    <httpRuntime executionTimeout="9001"/> 
    </system.web> 
</location> 
+0

これは機能します。アップロードハンドラに対してのみ大きな要求を許可する場合は、httpRuntimeタグにmaxRequestLengthを追加することもできます。 –

+2

彼の実行タイムアウトは9000以上です! –

2

<httpRuntime executionTimeout="01:00:00" /> 

さて、これはあなたが唯一のアップロードスクリプトのタイムアウトを増やしたい場合は、あなたが書くことができることを意味し、サブweb.configファイルでオーバーライドですアップロードを処理し、独自のweb.configを使用して独自のサブフォルダに配置する汎用HTTPハンドラ。

0

可能性のある問題:そのないタイムアウトがゼロ活動の、多分その何かがweb.configファイルhttpRuntimeセクションで、サイズ制限が組み込まれてやっているので場合は、へmaxRequestLength=""を増やす/追加することができますあなたのサイズ制限

関連する問題