Condividi tramite


Attivazione del servizio flusso di lavoro

Le informazioni contenute in questo argomento sono valide per Windows Workflow Foundation 4.

Per poter rispondere ai messaggi di ingresso, un servizio flusso di lavoro deve essere ospitato. I servizi flusso di lavoro utilizzano l'infrastruttura di messaggistica WCF e sono quindi ospitati in modi analoghi. Come i servizi WCF, i servizi flusso di lavoro possono essere ospitati in qualsiasi applicazione gestita, in Internet Information Services (IIS) o nel servizio Attivazione processo Windows (WAS). Per ulteriori informazioni su vari metodi per ospitare i servizi WCF, vedere Hosting Services.

Hosting in un'applicazione gestita

Per ospitare un servizio flusso di lavoro in un'applicazione gestita, utilizzare la classe WorkflowServiceHost. Il costruttore WorkflowServiceHost consente di specificare un'istanza di servizio flusso di lavoro singleton, una definizione del servizio flusso di lavoro o un'attività che utilizza le attività di messaggistica del flusso di lavoro. La chiamata a Open fa in modo che il servizio avvii l'ascolto di messaggi in ingresso.

Hosting in IIS o WAS

L'hosting di un servizio flusso di lavoro in IIS o WAS prevede la creazione di una directory virtuale e il posizionamento dei file nella directory virtuale che definiscono il servizio e il relativo comportamento. Quando si ospita un servizio flusso di lavoro in IIS o WAS esistono diverse possibilità:

  • Posizionare un file con estensione xamlx che definisce il servizio flusso di lavoro in una directory virtuale IIS/WAS insieme a un file Web.config che specifica i comportamenti del servizio, gli endpoint e altri elementi di configurazione.

  • Posizionare un file con estensione xamlx che definisce il servizio flusso di lavoro in una directory virtuale IIS/WAS. Il file con estensione xamlx specifica gli endpoint da esporre. Gli endpoint sono specificati in un elemento WorkflowService.Endpoints, come indicato nell'esempio seguente.

    <WorkflowService xmlns="https://schemas.microsoft.com/netfx/2009/xaml/servicemodel"  xmlns:p1="https://schemas.microsoft.com/netfx/2009/xaml/activities" xmlns:sad="clr-namespace:System.Activities.Debugger;assembly=System.Activities" xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml">
      <WorkflowService.Endpoints>
        <Endpoint ServiceContractName="IWorkFlowEchoService" AddressUri="">
          <Endpoint.Binding>
            <BasicHttpBinding />
          </Endpoint.Binding>
        </Endpoint>
      </WorkflowService.Endpoints>
    <!-- ... -->
    </WorkflowService>
    
    Ee358730.note(it-it,VS.100).gifNota:
    Non è possibile specificare i comportamenti in un file con estensione xamlx, pertanto è richiesto un file Web.config se è necessario specificare impostazioni relative al comportamento.

  • Posizionare un file con estensione xamlx che definisce il servizio flusso di lavoro in una directory virtuale IIS/WAS. Posizionare inoltre un file con estensione svc nella directory virtuale. Il file con estensione svc consente di specificare una factory di host di servizio Web personalizzata, applicare il comportamento personalizzato o caricare la configurazione da un percorso personalizzato.

  • Posizionare un assembly nella directory virtuale IIS/WAS che contiene un'attività che utilizza le attività di messaggistica di WCF.

Un file con estensione xamlx che definisce un servizio flusso di lavoro deve contenere un elemento radice <Service> o un elemento radice contenente qualsiasi tipo derivato da Activity. In caso di utilizzo del modello di attività Visual Studio 2010, viene creato un file con estensione xamlx. In caso di utilizzo del modello di servizio flusso di lavoro WCF, viene creato un file con estensione xamlx.

Riferimento ad attività personalizzate

È necessario aggiungere riferimenti alle attività personalizzate alla sezione <Assemblies> in <System.Web.Compilation>, in modo che vengano caricati nel dominio dell'applicazione e il deserializzatore XAML sia in grado di individuare i tipi. È possibile configurare queste impostazioni a livello dell'applicazione o nel file Web.config radice, se tali impostazioni devono essere applicate a tutte le applicazioni nel computer.

Distribuzione

Lo strumento Distribuzione Web è stato creato per agevolare il processo di distribuzione. Lo strumento consente di eseguire la migrazione delle applicazioni tra IIS 6.0 e IIS 7.0, sincronizzare server farm e inserire in pacchetti, archiviare e distribuire applicazioni Web. Per ulteriori informazioni, vedere Strumento di distribuzione MS

Vedere anche

Altre risorse

Declarative Activation of Services