AppDomain.ProcessExit イベント


既定のアプリケーション ドメインの親プロセスが終了した場合に発生します。Occurs when the default application domain's parent process exits.

 virtual event EventHandler ^ ProcessExit;
public event EventHandler ProcessExit;
member this.ProcessExit : EventHandler 
Public Custom Event ProcessExit As EventHandler 



このイベントの EventHandler では、プロセスが終了する前に、ファイルのクローズ、ストレージの解放などの終了アクティビティを実行できます。The EventHandler for this event can perform termination activities, such as closing files, releasing storage and so on, before the process ends.

.NET Framework バージョン2.0 以降では、イベントハンドラーを登録する各アプリケーションドメインでこのイベントが発生します。Beginning with the .NET Framework version 2.0, this event is raised in each application domain that registers an event handler.


.NET Framework では、すべての ProcessExit イベントハンドラーの合計実行時間が制限されます。これは、すべてのファイナライザーの実行時間の合計がプロセスのシャットダウン時に制限されるためです。In .NET Framework, the total execution time of all ProcessExit event handlers is limited, just as the total execution time of all finalizers is limited at process shutdown. 既定値は2秒です。The default is two seconds. アンマネージホストは、 OPR_ProcessExit列挙値を使用してICLRPolicyManager:: SetTimeoutメソッドを呼び出すことによって、この実行時間を変更できます。An unmanaged host can change this execution time by calling the ICLRPolicyManager::SetTimeout method with the OPR_ProcessExit enumeration value. この制限時間は .NET Core には存在しません。This time limit does not exist in .NET Core.

.NET Framework バージョン1.0 および1.1 では、このイベントは既定のアプリケーションドメインでのみ発生し、イベントハンドラーが既定のアプリケーションドメインに登録されている場合にのみ発生します。In the .NET Framework versions 1.0 and 1.1, this event is raised only in the default application domain, and only if an event handler is registered in the default application domain.

このイベントのイベントハンドラーを登録するには、必要なアクセス許可が必要です。または、SecurityException がスローされます。To register an event handler for this event, you must have the required permissions, or a SecurityException is thrown.

イベントの処理の詳細については、「処理とイベントの発生」を参照してください。For more information about handling events, see Handling and Raising Events.