ASP.NET4.5Webアプリケーションを実行しているライブサーバーでスクリプトがタイムアウトしないという問題があります。
アプリケーションのweb.configには<compilation debug="false" />
、値が設定されている場合と設定されていない場合があり<httpRuntime executionTimeout="" />
ます。machine.configには、これらのいずれにも値がありません。
したがって、理論的には、スクリプトはデフォルトの110秒でタイムアウトするはずです。
ただし、ライブサーバーでServer.ScriptTimeoutの値を出力すると、値が30000000秒であることがわかります。これは、の場合に設定されるデフォルト値です<compilation debug="true" />
。
ScriptTimeoutがコードのどこにも設定されていないことを確認できます。
この値を設定したり、値をどこかで上書きしたりできる場所は他にありますか?おそらくIISのどこかで?IISの構成を見てきましたが、目立つものは何もありません。
どうもありがとう
アップデート
Jim Mischelのリンク(ありがとうございます)の指示に従って、ライブサーバーで実行されているプリコンパイルアセンブリを逆コンパイルした後、30000000のScriptTimeoutが実際にWebFormページクラスのコンストラクターに配置されていることがわかりました。
[DebuggerNonUserCode]
public ProblemPage_aspx()
{
// Initialisation code
base.Server.ScriptTimeout = 30000000;
}
<compilation debug="false" />
このコード行がクラスから省略されているため、実行している場合。
このことから、アプリケーションをデバッグモードでプリコンパイルしているとしか推測できません。さらに調査を行いますが、これは結局のところ環境構成の問題ではないようです。