ASP.NET MVCアプリケーションのサブセクションのhttpRuntime
executionTimeout
を増やしたいのですが。
通常のWebアプリでは、次のものを使用できます。
<configuration>
<location path="UploadPage.aspx">
<httpRuntime executionTimeout="600"/>
</location>
</configuration>
ただし、ASP.NET MVCには「フォルダー」という概念は実際にはないので、どうすればこれを実行できますか?
ASP.NET MVCパスが/Images/Upload
とImagesControllerおよびUploadアクションを使用します。
MVCパス全体(コントローラーとアクション)を<location>タグのパス属性に含めることができます。このようなものはうまくいくはずです:
<location path="Images/Upload">
<system.web>
<httpRuntime executionTimeout="600" />
</system.web>
</location>
Chris Hynesソリューション 機能します!パスに〜/を含めないでください。
この回答 別の方法で詳細を説明します-アクションコード内にScriptTimeout
を設定するだけです。
public ActionResult NoTimeout()
{
HttpContext.Server.ScriptTimeout = 60 * 10; // Ten minutes..
System.Threading.Thread.Sleep(1000 * 60 * 5); // Five minutes..
return Content("NoTimeout complete", "text/plain"); // This will return..
}
アクションがデフォルトのコントローラにある場合、ホーム/アップロードは機能しません。アクション名を入力するだけです。
アップロードページのタイムアウトを特に長くしようとしているようです。私はpluploadと呼ばれる「チャンク」アップローダーである程度成功しました。比較的単純なMVCアクションは、アップロードのチャンクを受信するように設定でき、受信時に各チャンクを追加します。小さなチャンクでは、タイムアウトを増やす必要はありません。もちろん、いくつかのブラウザ制限があるかもしれませんが、n
AsyncControllerを見てください。これを使用すると、アクションメソッドにAsyncTimeout属性を設定できるようになり、リクエストをタイムアウトできるようになります。
私を助けたリンク: http://forums.asp.net/p/1564303/3922462.aspxhttp://dariosantarelli.wordpress.com/2010/10/16/asp -net-mvc-2-handling-timeouts-in-asynchronous-controllers /