0

実稼働環境で標準的な問題のタイムアウト例外が発生しており、90 秒後にスレッドが強制終了されます。私のサイトの大部分では、これは問題ではありません。

ただし、私のサイトマップ ジェネレーターは例外です。

アプリケーションで作成されたルートに依存するため、アプリからすべてのルートを読み込み、カスタマイズされた Html.Action を効果的に使用して各ルートを生成するため、プロジェクト内に作成することにしました。

サイトマップ全体を作成するにはかなりの時間がかかるため (最後のカウントで 5 分)、完了する前に YSOD を受け取ります。ここで、Web フォームでは、ディレクトリに web.config を作成し、location 要素を使用してそのページの小さなハンドラーを作成します。

<configuration>
  <location path="sitemapgenerator">
    <system.web>
      <httpRuntime executionTimeout="600" /><!-- Ten minutes -->
    </system.web>
  </location>
</configuration>

この構成ファイルを実際に作成しないと、これは機能しないだけでなく、MVC ではかなり悪い習慣でもあると確信しています。これは、サイトマップ ジェネレーターの名前を構成ファイルで設定されているものに制限するためです。ルートだけではありません。

変更する必要がある場合は、ルートと構成ファイルを最新の状態に保つことができますが、これは MVC では面倒です。

誰でもこれについて何か提案をしてもらえますか?この web.config メソッドがうまくいくかどうか?

よろしくお願いします。

更新:これについてテストを行いましたが、機能しません。したがって、フォールバック ソリューションもありません。:)

4

1 に答える 1

3

サイトマップジェネレータの初期化でscriptTimeoutプロパティを設定してみましたか?

Server.ScriptTimeout = 600;

于 2009-06-09T14:16:31.963 に答える