「ワークフロー終了時にのみ実行される処理」について

質問失礼致します。
ワークフロー終了時、または強制終了時にのみ実行される処理を作成したいのですが、Uipathについてあまり知識がなく方法がわかりません。
どなたか方法をご教授お願い致します。

こんにちは

基本的には強制終了した際には、その場でプロセスが終了しますので、任意の処理を実行する余地はないと思います。

通常実行時で、例外発生時の処理であれば、Main.xamlの最初にTry Catchで囲み、CatchはSystem.Exceptionだけを定義して中身を空にしておいて、Finallyで、処理を記述すればよいかと思います。

なおマルチポストはあまりよろしくないと思いますので、ご留意ください。

回答ありがとうございます。以降、マルチポストしないよう気を付けます。

ワークフロー終了時に実行される処理をアクティビティ単位で実現する手段はありますでしょうか。

背景として、初期化処理と終了処理で遅い処理があるため、Execute内で合わせて実行すると実行時間が遅くなることを防ぎたいです。ただ、「初期化、実行、終了」といった単位で分割することは出来ればしたくないです。

こんにちは

質問の背景やニーズがあまり理解できていませんが、Main.xamlの処理の最後にアクティビティを配置すればよいのではと思いますが、意図が違いますか?

「Execute内で合わせて実行...」といった意図も良くわからないので、ご説明いただけると良いかもしれません。

少し説明いたします。

Uipathで使うアクティビティとして、独自のアクティビティを作成しており、Execute 関数の中に処理を作っていました。結果として動作はするのですが、Execute 関数内の処理は下記のような処理で処理内の起動と終了の部分で時間がかかるアクティビティとなっています。

[Execute 関数内の処理]
Excel等のあるプログラムを起動して、値を読込み、終了するという処理。

アクティビティをワークフローに配置するユーザが開始や終了を意識することなく、値を読み込むという処理を何度も使いまわしたいアクティビティにしたく、可能であれば、ワークフロー終了時と開始時にのみ処理が走るといったアクティビティを作成したいと思っています。

何度も回答いただきすみません。
意図・背景、伝わるでしょうか?

こんにちは

Visual Studioで作成したカスタムアクティビティという事ですね?
そうであれば、スコープをもったアクティビティとして作成し、Main.xamlの直下に配置して
おけば良いかと思います。(例えば、Excel Application Scopeのように、handleを出力して
おいて、handleの入力があれば、初期化や終了処理を行わないようにすれば良いように思えます)

ありがとうございます。