Aracılığıyla paylaş


WorkflowInstance.Unload Yöntem

Tanım

İş akışı örneğini bellekten kalıcılık deposuna kaldırır. Bu çağrı, şu anda zamanlanmış olan çalışma bitene kadar veya işlem kapsamının sonuna kadar engeller.

public:
 void Unload();
public void Unload ();
member this.Unload : unit -> unit
Public Sub Unload ()

Özel durumlar

İş akışı çalışma zamanı altyapısına kaydedilmiş bir kalıcılık hizmeti yok.

Örnekler

Aşağıdaki örnekte bir WorkflowInstance nesne üzerinde çağrı Unload gösterilmektedir.

// Create a WorkflowRuntime object
WorkflowRuntime workflowRuntime = new WorkflowRuntime();
// Create a new instance of the out-of-box SqlWorkflowPersistenceService
SqlWorkflowPersistenceService persistenceService =
   new SqlWorkflowPersistenceService(
   "Initial Catalog=SqlPersistenceService;Data Source=localhost;Integrated Security=SSPI;");
// Add the service to the runtime
workflowRuntime.AddService(persistenceService);
// Create a WorkflowInstance object
WorkflowInstance workflowInstance = workflowRuntime.CreateWorkflow(typeof(Workflow1));
// Start the workflow instance
workflowInstance.Start();
//Unload the instance
workflowInstance.Unload();
' Create a WorkflowRuntime object
Dim workflowRuntime As New WorkflowRuntime()
' Create a new instance of the out-of-box SqlWorkflowPersistenceService
Dim persistenceService As _
   New SqlWorkflowPersistenceService( _
   "Initial Catalog=SqlPersistenceServiceData Source=localhostIntegrated Security=SSPI")
' Add the service to the runtime
workflowRuntime.AddService(persistenceService)
' Create a WorkflowInstance object
Dim workflowInstance As WorkflowInstance = workflowRuntime.CreateWorkflow(GetType(Workflow1))
' Start the workflow instance
workflowInstance.Start()
'Unload the instance
workflowInstance.Unload()

Açıklamalar

Unload zaman uyumlu; diğer bir ifadeyle, gerçekleştirdiği herhangi bir eylemi tamamladıktan sonra döndürür. İş akışı örneği boşta değilse, çalışma zamanı örneğin kesintiye uğramasını bekler. Bir örnek yalnızca zamanlanmış iş öğesi tamamlandıktan sonra kesilebilir; Bu genellikle şu anda çalışan Activity yönteminden Execute döndürdüğünde olur. Ancak, örnek bir TransactionScopeActivityyürütüyorsa, örneğin kesintiye uğraması için işlem kapsamının yürütmeyi tamamlaması gerekir. Daha sonra Unload, iş akışı örneğini bellekten kaldırmak ve bir veri deposunda kalıcı hale getirmek için kalıcılık hizmetini kullanır. ile WorkflowRuntimekaydedilmiş bir kalıcılık hizmeti yoksa, Unload bir InvalidOperationExceptionoluşturur. İş akışı örneği başarıyla kalıcı hale gelirse, çalışma zamanı olayı tetikler WorkflowUnloaded .

Konak, boşta olan bir iş akışından sistem kaynaklarını geri kazanmak için kullanabilir Unload .

Şunlara uygulanır