2

イベント ハンドラーでは、Application_Startファイル ロックの問題が原因で断続的に失敗するいくつかのアクションを実行しています。このシナリオでは、アプリケーションを「未開始」状態に戻します。

これは、ユーザーにエラー ページが表示され、次にユーザーがサイトにアクセスしたときにApplication_Startイベントが再び発生することを意味します。

ASP.NET 3.5、WebForms、および MVC を使用しています。

4

2 に答える 2

3

AppDomain.Unloadはあなたが探しているものを提供しますが、私はそれをお勧めしません。

キャッチはたくさんあります。プログラムでアプリドメインを破棄することは、それ自体の一連の問題がないわけではなく(つまり、スレッドがネイティブコードでブロックされている場合、CannotUnloadAppDomainExceptionが発生する可能性があります)、一般的に貧弱な設計であるIMOです。

あなたがやろうとしていることは非常に型破りです。一緒にアプローチを考え直します。アプリのドメインレベルでコードを1回だけ実行する必要がある場合は、たとえば静的データやHttpRuntimeキャッシュのフラグなど、より良い方法がたくさんあります。Webガーデンと同時実行のシナリオに注意してください。

幸運を。

于 2010-07-14T16:52:27.183 に答える
0

アプリケーション内から webForms アプリケーションを終了/強制停止する方法はないと確信しています。ただし、アプリケーションが起動しないようにするための厄介な方法は、application_start 内で未処理のエラーを生成することです。これにより、起動が防止され、webForms アプリへの次のヒット時に application_start が再試行されます。

于 2010-07-14T13:44:11.840 に答える