Delen via


Werkstroomservices hosten

Een werkstroomservice moet worden gehost om te kunnen reageren op binnenkomende berichten. Werkstroomservices maken gebruik van de WCF-berichteninfrastructuur en worden daarom op vergelijkbare manieren gehost. Net als WCF-services kunnen werkstroomservices worden gehost in elke beheerde toepassing, onder Internet Information Services (IIS) of onder Windows Process Activation Services (WAS). Daarnaast kunnen werkstroomservices worden gehost onder Windows Server App Fabric. Zie de windows Server App Fabric-documentatie, AppFabric Hosting-functies en AppFabric-hostingconcepten voor meer informatie over Windows Server App Fabric. Zie Hostingservices voor meer informatie over de verschillende manieren om WCF-services te hosten.

Hosten in een beheerde toepassing

Als u een werkstroomservice in een beheerde toepassing wilt hosten, gebruikt u de WorkflowServiceHost klasse. Met de WorkflowServiceHost constructor kunt u een singleton-werkstroomservice-exemplaar, een werkstroomservicedefinitie of een activiteit opgeven die gebruikmaakt van de werkstroomberichtenactiviteiten. Als Open de service wordt aangeroepen, wordt naar binnenkomende berichten geluisterd.

Hosting onder IIS of WAS

Het hosten van een werkstroomservice onder IIS of WAS omvat het maken van een virtuele map en het plaatsen van bestanden in de virtuele map die de service en het gedrag ervan definiëren. Bij het hosten van een werkstroomservice onder IIS of WAS zijn er verschillende mogelijkheden:

  • Plaats een .xamlx-bestand dat de werkstroomservice definieert in een virtuele IIS-/WAS-map, samen met een Web.config-bestand dat het servicegedrag, eindpunten en andere configuratie-elementen aangeeft.

  • Plaats een .xamlx-bestand dat de werkstroomservice definieert in een virtuele IIS-/WAS-map. Het .xamlx-bestand geeft de eindpunten op die moeten worden weergegeven. Eindpunten worden opgegeven in een WorkflowService.Endpoints element, zoals wordt weergegeven in het volgende voorbeeld.

    <WorkflowService xmlns="http://schemas.microsoft.com/netfx/2009/xaml/servicemodel"  xmlns:p1="http://schemas.microsoft.com/netfx/2009/xaml/activities" xmlns:sad="clr-namespace:System.Activities.Debugger;assembly=System.Activities" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
      <WorkflowService.Endpoints>
        <Endpoint ServiceContractName="IWorkFlowEchoService" AddressUri="">
          <Endpoint.Binding>
            <BasicHttpBinding />
          </Endpoint.Binding>
        </Endpoint>
      </WorkflowService.Endpoints>
    <!-- ... -->
    </WorkflowService>
    

    Notitie

    Gedrag kan niet worden opgegeven in een .xamlx-bestand, dus u moet een Web.config gebruiken als u gedragsinstellingen moet opgeven.

  • Plaats een .xamlx-bestand dat de werkstroomservice definieert in een virtuele IIS-/WAS-map. Plaats bovendien een .svc-bestand in de virtuele map. Met het .svc-bestand kunt u een aangepaste webservicehostfactory opgeven, aangepast gedrag toepassen of configuratie laden vanaf een aangepaste locatie.

  • Plaats een assembly in de virtuele IIS/WAS-map die een activiteit bevat die gebruikmaakt van de WCF-berichtenactiviteiten.

Een .xamlx-bestand dat een werkstroomservice definieert, moet een <Service> hoofdelement of een hoofdelement bevatten dat elk type bevat dat is afgeleid van Activity. Wanneer u de Visual Studio-activiteitssjabloon gebruikt, wordt er een .xamlx-bestand gemaakt. Wanneer u de WCF Workflow Service-sjabloon gebruikt, wordt er een .xamlx-bestand gemaakt.

Werkstroomservices hosten onder Windows Server App Fabric

Het hosten van een werkstroomservice onder Windows Server App Fabric wordt op dezelfde manier uitgevoerd als het hosten onder IIS/WAS. Het enige verschil is dat Windows Server App Fabric is geïnstalleerd. Windows Server App Fabric biedt hulpprogramma's die worden toegevoegd aan Internet Information Services Manager, evenals PowerShell-commandlets. Deze hulpprogramma's vereenvoudigen het implementeren, beheren en bijhouden van werkstroomservices en WCF-services.

Verwijzen naar aangepaste activiteiten

Verwijzingen naar aangepaste activiteiten moeten worden toegevoegd aan de <Assemblies> sectie hieronder <System.Web.Compilation> , zodat ze in het toepassingsdomein worden geladen en de XAML-deserializer de typen kan vinden. Deze instellingen kunnen worden gemaakt op toepassingsniveau of in de hoofdweb.config als de instellingen moeten worden toegepast op alle toepassingen op de computer.

Implementatie

Het hulpprogramma Webimplementatie is gemaakt om de implementatietaak eenvoudiger te maken. Met het hulpprogramma kunt u toepassingen migreren tussen IIS 6.0 en IIS 7.0, serverfarms synchroniseren en verpakken, archiveren en webtoepassingen implementeren. Zie MS Deployment Tool voor meer informatie.

Zie ook