2009-04-30 9 views
2

電子書籍を作成できるアプリケーションがあります。 このアプリケーションにはAIRファイルを作成するエクスポートモジュールがありますが、これには時間がかかります(一部の書籍には2500ページあり)。我々は次のエラーを取得エクスポートする場合 :スレッドにエラーがあります

Thread was being aborted. 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.Threading.ThreadAbortException: Thread was being aborted. 

Source Error: 
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. 

Stack Trace: 

[ThreadAbortException: Thread was being aborted.] 
    System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +501 
    System.Web.ApplicationStepManager.ResumeSteps(Exception error) +564 
    System.Web.HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData) +141 
    System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) +436 

を私は3600秒に私のランタイムexecutiontimeoutを変更しましたが、それはarroundの3分のクラッシュ続けています。 それは時間に関係している...私達が3分に近づくたびにクラッシュする、私は誰かが私を助けることを願っています。

+0

これはどのようにホストされていますか?共有ホスティング環境では?または専用/内部? – meandmycode

答えて

4

私はPaulが例外の原因について正しいと思います。 IISとASP.NETの両方に、要求に要する最大時間を制限する設定があります。 ASP.NETの場合、Machine.Configファイルにあります(httpRuntime要素、executionTimeout属性を探します)。私の開発マシンでは90秒に設定されています。

ただし、この設定を変更することはお勧めしませんが、悪い要求でアプリケーションがハングアップしないようにするためです。

長時間実行されるタスクは、非同期実行を使用する必要があります。非同期実行では、実際の作業は別のスレッドで処理されます。これにより、要求を処理するスレッドがアプリケーションの全体的なパフォーマンスに適した他の要求を処理できるようになります。

これに関するいくつかの良い記事があります。例:http://msdn.microsoft.com/en-us/magazine/cc163725.aspx

0

実際には、このエラーは実際にはOutOfMemory例外から発生します。 InnerExceptionはありますか?

0

IISには、スレッド/ appdomainが長時間実行された場合にそのスレッドを強制終了する「暴走」スレッド保護機能があります。

+0

これらの設定を制御する方法はありますが、私は実際にそれらのことを理解していません。私はちょうど自分自身で問題にぶつかって、それが存在することを知っている。ワーカープロセスをリサイクルするときの設定については、IISサイトを掘り下げて調べる必要があります。 –

関連する問題