WorkflowInstance.TryUnload Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Entlädt die Workflowinstanz aus dem Arbeitsspeicher in den Persistenzspeicher, wenn die Instanz unterbrochen wird oder sich im Leerlauf befindet.
public:
bool TryUnload();
public bool TryUnload ();
member this.TryUnload : unit -> bool
Public Function TryUnload () As Boolean
Gibt zurück
true
, wenn die Workflowinstanz entladen wurde; andernfalls false
.
Ausnahmen
Für die Workflowruntime-Engine ist kein Persistenzdienst registriert.
Beispiele
Das folgende Beispiel zeigt, wie Sie die TryUnload-Methode verwenden, um einen Workflow zu entladen, wenn das WorkflowIdled-Ereignis ausgelöst wird. Dieses Beispiel stammt aus dem Using Persistence Services SDK-Beispiel in der Datei Program.cs. Weitere Informationen finden Sie unter Using Persistence Services Sample (Beispiel für Persistenzdienste).
//Called when the workflow is idle - in this sample this occurs when the workflow is waiting on the
// delay1 activity to expire
static void OnWorkflowIdled(object sender, WorkflowEventArgs e)
{
Console.WriteLine("Workflow is idle.");
e.WorkflowInstance.TryUnload();
}
'Called when the workflow is idle - in me sample me occurs when the workflow is waiting on the
' delay1 activity to expire
Shared Sub OnWorkflowIdled(ByVal sender As Object, ByVal e As WorkflowEventArgs)
Console.WriteLine("Workflow is idle.")
e.WorkflowInstance.TryUnload()
End Sub
Hinweise
Wenn die Workflowinstanz sich im Leerlauf befindet oder unterbrochen wurde, verwendet TryUnload den Persistenzdienst, um die Workflowinstanz aus dem Arbeitsspeicher zu entfernen und in einem Datenspeicher beizubehalten. Wenn für WorkflowRuntime kein Persistenzdienst registriert ist, löst TryUnload eine InvalidOperationException aus. Wenn der Workflow instance erfolgreich beibehalten wird, löst die Runtime das WorkflowUnloaded Ereignis aus und gibt zurücktrue
.
Unloadgibt zurückfalse
, wenn der Workflow instance bereits entladen, beendet, abgebrochen oder bereits abgeschlossen wurde.
Der Host kann TryUnload verwenden, um Systemressourcen eines im Leerlauf befindlichen Workflows freizugeben.