2008-05-07

WorkflowServiceHost, att ta tillbaka kontrollen

Ibland är det bra att kunna lägga in sina egna mekanismer mitt i befintlig kod och detta är något som WCF ger oss ett underbart stöd för.

Alla som startar ett nytt WF-projekt utanför sharepoint använder förhoppningsvis WorkflowServiceHost (.NET 3.5) och där finns naturligtvis stöd för att lägga sig i hur saker fungerar.

I grunden finns ServiceHostFactoryBase och WorkflowServiceHostFactory som ger oss möjligheten att påverka hur vi skapar vår WorkflowServiceHost.

Det hela beskrivs väldigt bra i följande artikel

public class MyWorkflowServiceHostFactory : WorkflowServiceHostFactory
{
public override System.ServiceModel.ServiceHostBase CreateServiceHost(string constructorString, Uri[] baseAddresses)
{
ServiceHostBase sh = base.CreateServiceHost(constructorString, baseAddresses);
//sh is the WorkflowServiceHost
WorkflowRuntimeBehavior wrb = sh.Description.Behaviors.Find<WorkflowRuntimeBehavior>();
wrb.WorkflowRuntime.WorkflowIdled += new EventHandler<System.Workflow.Runtime.WorkflowEventArgs>(WorkflowRuntime_WorkflowIdled);
return sh;
}

Inga kommentarer: