ASP.NETには110秒のデフォルトの実行タイムアウトがあります。これは、次の要素によって制御されます。
<httpRuntime executionTimeout="110" />
操作にこのデフォルトのタイムアウトよりも長い時間がかかる場合、ASP.NETは単にそれを停止します。デフォルト値を増やしてみることができますが、ASP.NETで長時間実行される操作を行うと、この操作の実行中に貴重な作業スレッドが危険にさらされ、ASP.NETアプリケーションの提供機能が低下するため、悲惨な結果になる可能性があることに注意してください。
また、この操作でSQLクエリを実行している場合は、長いクエリがある場合にヒットする可能性のあるSqlConnectionおよびSqlCommandに関連する他のタイムアウトがある可能性があることに注意してください。
注意すべきもう1つの点は、ASP.NETセッションはスレッドセーフではないという事実です。これは、同じASP.NETセッションに対して2つの並列要求がある場合、それらは並列ではなく順次シリアル化および実行されることを意味します。仕様によるものです。したがって、アクションでセッションを使用している場合、現在実行中のコントローラーアクションがあり、そのセッションを使用している場合、同じセッションからの別の要求は、実行される前にそれが終了するのを待つ必要があります。