WorkflowRuntime.WorkflowUnloaded Zdarzenie
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Występuje, gdy wystąpienie przepływu pracy jest zwalniane z pamięci.
public:
event EventHandler<System::Workflow::Runtime::WorkflowEventArgs ^> ^ WorkflowUnloaded;
public event EventHandler<System.Workflow.Runtime.WorkflowEventArgs> WorkflowUnloaded;
member this.WorkflowUnloaded : EventHandler<System.Workflow.Runtime.WorkflowEventArgs>
Public Custom Event WorkflowUnloaded As EventHandler(Of WorkflowEventArgs)
Public Event WorkflowUnloaded As EventHandler(Of WorkflowEventArgs)
Typ zdarzenia
Przykłady
W poniższym przykładzie kodu pokazano, jak używać WorkflowRuntime funkcji z hosta przepływu pracy. Kod kojarzy obiekt WorkflowUnloaded z procedurą obsługi zdarzeń , czyli metodą o nazwie OnWorkflowUnload
.
Ten przykładowy kod jest częścią przykładowej usługi Custom Persistence Service.
static void Main()
{
using (WorkflowRuntime workflowRuntime = new WorkflowRuntime())
{
try
{
// engine will unload workflow instance when it is idle
workflowRuntime.AddService(new FilePersistenceService(true));
workflowRuntime.WorkflowCreated += OnWorkflowCreated;
workflowRuntime.WorkflowCompleted += OnWorkflowCompleted;
workflowRuntime.WorkflowIdled += OnWorkflowIdle;
workflowRuntime.WorkflowUnloaded += OnWorkflowUnload;
workflowRuntime.WorkflowLoaded += OnWorkflowLoad;
workflowRuntime.WorkflowTerminated += OnWorkflowTerminated;
workflowRuntime.ServicesExceptionNotHandled += OnExceptionNotHandled;
workflowRuntime.CreateWorkflow(typeof(PersistenceServiceWorkflow)).Start();
waitHandle.WaitOne();
}
catch (Exception e)
{
Console.WriteLine("Exception \n\t Source: {0} \n\t Message: {1}", e.Source, e.Message);
}
finally
{
workflowRuntime.StopRuntime();
Console.WriteLine("Workflow runtime stopped, program exiting... \n");
}
}
}
Shared Sub Main()
Using currentWorkflowRuntime As New WorkflowRuntime()
Try
' engine will unload workflow instance when it is idle
currentWorkflowRuntime.AddService(New FilePersistenceService(True))
AddHandler currentWorkflowRuntime.WorkflowCreated, AddressOf OnWorkflowCreated
AddHandler currentWorkflowRuntime.WorkflowCompleted, AddressOf OnWorkflowCompleted
AddHandler currentWorkflowRuntime.WorkflowIdled, AddressOf OnWorkflowIdled
AddHandler currentWorkflowRuntime.WorkflowUnloaded, AddressOf OnWorkflowUnloaded
AddHandler currentWorkflowRuntime.WorkflowLoaded, AddressOf OnWorkflowLoaded
AddHandler currentWorkflowRuntime.WorkflowTerminated, AddressOf OnWorkflowTerminated
AddHandler currentWorkflowRuntime.ServicesExceptionNotHandled, AddressOf OnExceptionNotHandled
currentWorkflowRuntime.CreateWorkflow(GetType(PersistenceServiceWorkflow)).Start()
waitHandle.WaitOne()
Catch e As Exception
Console.WriteLine("Exception \n\t Source: 0} \n\t Message: 1}", e.Source, e.Message)
Finally
currentWorkflowRuntime.StopRuntime()
Console.WriteLine("Workflow runtime stopped, program exiting... \n")
End Try
End Using
End Sub
Uwagi
Wystąpienie przepływu pracy można zwolnić z pamięci przez jawne wywołanie metody Unloadlub niejawnie przez aparat czasu wykonywania przepływu pracy zgodnie z własnymi semantykami. Na przykład aparat czasu wykonywania przepływu pracy zwalnia wystąpienie przepływu pracy, jeśli wystąpienie stanie się bezczynne, a środowisko uruchomieniowe ma WorkflowPersistenceService dodany element , dla którego UnloadOnIdle element to true
.
Aparat czasu wykonywania przepływu pracy zgłasza WorkflowUnloaded
zdarzenie po pomyślnym utrwaleniu stanu wystąpienia przepływu pracy, ale zanim wystąpienie zostanie unieważnione w pamięci. W związku z WorkflowPersisted tym zdarzenie poprzedza WorkflowUnloaded zdarzenie.
WorkflowUnloaded
W przypadku zdarzenia nadawca zawiera element WorkflowRuntime i zawiera WorkflowInstance element skojarzony WorkflowEventArgs ze zdarzeniem.
Aby uzyskać więcej informacji na temat obsługi zdarzeń, zobacz Obsługa i zgłaszanie zdarzeń.