Dela via


Vara värd för arbetsflödestjänster

En arbetsflödestjänst måste finnas för att den ska kunna svara på inkommande meddelanden. Arbetsflödestjänster använder WCF-meddelandeinfrastrukturen och hanteras därför på liknande sätt. Precis som WCF-tjänster kan arbetsflödestjänster finnas i alla hanterade program, under Internet Information Services (IIS) eller under Windows Process Activation Services (WAS). Dessutom kan arbetsflödestjänster hanteras under Windows Server App Fabric. Mer information om Windows Server App Fabric finns i Dokumentation om Windows Server App Fabric, AppFabric Hosting Features och AppFabric Hosting Concepts. Mer information om de olika sätten att vara värd för WCF-tjänster finns i Värdtjänster.

Värd i ett hanterat program

Använd klassen för att vara värd för en arbetsflödestjänst i ett hanterat program WorkflowServiceHost . Med WorkflowServiceHost konstruktorn kan du ange en singleton-arbetsflödestjänstinstans, en arbetsflödestjänstdefinition eller en aktivitet som använder arbetsflödesmeddelandeaktiviteterna. Anrop Open gör att tjänsten börjar lyssna efter inkommande meddelanden.

Värd under IIS eller WAS

Att vara värd för en arbetsflödestjänst under IIS eller WAS innebär att skapa en virtuell katalog och placera filer i den virtuella katalogen som definierar tjänsten och dess beteende. När du är värd för en arbetsflödestjänst under IIS eller WAS finns det flera möjligheter:

  • Placera en .xamlx-fil som definierar arbetsflödestjänsten i en virtuell IIS/WAS-katalog tillsammans med en Web.config-fil som anger tjänstbeteenden, slutpunkter och andra konfigurationselement.

  • Placera en .xamlx-fil som definierar arbetsflödestjänsten i en virtuell IIS/WAS-katalog. .xamlx-filen anger de slutpunkter som ska exponeras. Slutpunkter anges i ett WorkflowService.Endpoints element enligt följande exempel.

    <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>
    

    Kommentar

    Beteenden kan inte anges i en .xamlx-fil, så du måste använda en Web.config om du behöver ange beteendeinställningar.

  • Placera en .xamlx-fil som definierar arbetsflödestjänsten i en virtuell IIS/WAS-katalog. Placera dessutom en .svc-fil i den virtuella katalogen. Med .svc-filen kan du ange en anpassad värdfabrik för webbtjänsten, tillämpa anpassat beteende eller läsa in konfigurationen från en anpassad plats.

  • Placera en sammansättning i den virtuella IIS/WAS-katalogen som innehåller en aktivitet som använder WCF-meddelandeaktiviteterna.

En .xamlx-fil som definierar en arbetsflödestjänst måste innehålla ett <Service> rotelement eller ett rotelement som innehåller alla typer som härletts från Activity. När du använder Visual Studio-aktivitetsmallen skapas en .xamlx-fil. När du använder mallen för WCF-arbetsflödestjänsten skapas en .xamlx-fil.

Vara värd för arbetsflödestjänster under Windows Server App Fabric

Att vara värd för en arbetsflödestjänst under Windows Server App Fabric görs på samma sätt som under IIS/WAS. Den enda skillnaden är att Windows Server App Fabric är installerat. Windows Server App Fabric innehåller verktyg som läggs till i Internet Information Services Manager samt PowerShell-kommandon. De här verktygen förenklar distribution, hantering och spårning av arbetsflödestjänster och WCF-tjänster.

Referera till anpassade aktiviteter

Referenser till anpassade aktiviteter måste läggas till i <Assemblies> avsnittet under <System.Web.Compilation> så att de läses in i programdomänen och XAML-deserialiseraren kan hitta typerna. De här inställningarna kan göras på programnivå eller i roten Web.config om inställningarna ska tillämpas på alla program på datorn.

Distribution

Webbdistributionsverktyget har skapats för att göra distributionsjobbet enklare. Med verktyget kan du migrera program mellan IIS 6.0 och IIS 7.0, synkronisera servergrupper och paketera, arkivera och distribuera webbprogram. Mer information finns i Distributionsverktyget för MS.

Se även