アプリケーションの特定のコントローラー アクションの要求タイムアウトを増やしたいと考えています。アプリケーション全体の web.config でそれを実行できることはわかっていますが、この 1 つのアクションだけで変更したいと思います。
Web.config の例:
<system.web>
<httpRuntime executionTimeout="1000" />
</system.web>
どうすればいいのですか?
アプリケーションの特定のコントローラー アクションの要求タイムアウトを増やしたいと考えています。アプリケーション全体の web.config でそれを実行できることはわかっていますが、この 1 つのアクションだけで変更したいと思います。
Web.config の例:
<system.web>
<httpRuntime executionTimeout="1000" />
</system.web>
どうすればいいのですか?
これは、コントローラーでプログラムで設定できます。
HttpContext.Current.Server.ScriptTimeout = 300;
タイムアウトをデフォルトの 110 秒ではなく 5 分に設定します (これは奇妙なデフォルトです)。
<location path="ControllerName/ActionName">
<system.web>
<httpRuntime executionTimeout="1000"/>
</system.web>
</location>
おそらく、コントローラーではなく web.config でそのような値を設定する方が良いでしょう。構成可能なオプションのハードコーディングは有害と見なされます。
.NET 4.5 を使用して「Current」を追加する必要がありました。
HttpContext.Current.Server.ScriptTimeout = 300;