Lezione 6: Monitoraggio del servizio OrderService per eccezioni

Tempo necessario al completamento: 20 minuti

Obiettivo: Apprendere come risolvere problemi con il servizio Windows Workflow Foundation (WF) utilizzando Windows Server AppFabric.

Scopo: In questa lezione, verrà creato un errore di configurazione e verrà utilizzato AppFabric per correggere l'errore.

Prerequisiti

Si noti che prima di iniziare la lezione, sono necessari i requisiti seguenti:

Procedura

In questa lezione verranno fornite le procedure seguenti:

  1. Creazione di un errore di configurazione

  2. Configurazione di AppFabric per la risoluzione dei problemi

  3. Creazione di un'istanza del flusso di lavoro

  4. Risoluzione dei problemi relativi all'istanza del flusso di lavoro

  5. Ripresa dell'istanza del flusso di lavoro

Creazione di un errore di configurazione

In questo passaggio, viene intenzionalmente configurato in maniera non corretta l'indirizzo di un endpoint per OrderProcessingService in modo da impedire a OrderWorkflowService di richiamare il servizio.

Per configurare in maniera non corretta l'endpoint del servizio WCF OrderProcessingService

  1. Avviare o passare alla finestra Gestione IIS.

  2. Espandere il nodo del server, espandere Siti e fare clic su OrderService.

  3. Fare doppio clic su Endpoint.

  4. Dall'elenco di endpoint, selezionare l'endpoint relativo a OrderProcessingService che espone il contratto Microsoft.Samples.Dublin.Tutorials.OrderService.OrderProcesingService.IOrderProcessing.

  5. Dal riquadro Azioni a destra, fare clic su Configura per aprire la finestra di dialogo Configura endpoint.

  6. Nella casella Indirizzo endpoint, digitare WrongAddress, quindi fare clic su OK.

    Ee677277.f8a06071-7644-4e0d-9309-80b0e4c77e5c(it-it,MSDN.10).gif

  7. Nell'elenco di endpoint dovrebbe essere possibile visualizzare l'indirizzo dell'endpoint modificato in WrongAddress.

Configurazione del servizio flusso di lavoro per la risoluzione dei problemi

Per assicurarsi di ottenere le informazioni necessarie per la risoluzione dei problemi, è necessario configurare il monitoraggio e la persistenza per il servizio flusso di lavoro.

AppFabric consente di definire cinque livelli di monitoraggio. Il livello superiore è denominato Risoluzione dei problemi. Generalmente, si consiglia di non utilizzare questo livello poiché comporta un rallentamento delle prestazioni generali del server. Tuttavia, allo scopo di risolvere problemi relativi al servizio flusso di lavoro, si consiglia di abilitarlo in modo da ottenere informazioni adeguate per identificare il problema.

È possibile configurare il livello di monitoraggio nell'ambito del sito Web o nell'ambito dell'applicazione Web. L'applicazione Web eredita le configurazioni del sito Web se le proprietà non vengono impostate esplicitamente. Si consiglia di configurare il livello di monitoraggio nell'ambito dell'applicazione Web per ridurre al minimo l'effetto sulle prestazioni.

Per aumentare il livello di individuazione eventi

  1. Avviare o passare alla finestra Gestione IIS.

  2. Espandere il nodo del server, espandere Siti, OrderService, quindi selezionare OrderWorkflowSerivce.

  3. Dal riquadro Azioni, in Gestisci servizi WCF e WF, fare clic su Configura per aprire la finestra di dialogo Configura WF e WCF per l'applicazione .

  4. Nel riquadro a sinistra fare clic su Monitoraggio.

  5. Nel riquadro dei dettagli, spostare il dispositivo di scorrimento Livello all'inizio (o in Risoluzione dei problemi).

  6. Fare clic su OK per chiudere la finestra di dialogo.

È possibile configurare il modo in cui AppFabric reagisce nei confronti di eccezioni non gestite. L'impostazione predefinita è Abbandona. Di seguito è riportato un elenco delle azioni:

Azione Nota

Abbandona

Il motore del flusso di lavoro interrompe l'istanza del flusso di lavoro e la scarica dalla memoria. Lo stato dell'istanza del flusso di lavoro rimane lo stesso. Il servizio Gestione flusso di lavoro (WMS, Workflow Management Service) tenterà nuovamente di elaborare l'istanza in base alle impostazioni contenute nel file WorkflowManagementService.exe.config.

AbandonAndSuspend

Il motore del flusso di lavoro interrompe l'istanza del flusso di lavoro e la scarica dalla memoria. Lo stato dell'istanza viene modificato in "Sospeso". Gli utenti possono riprendere l'istanza del flusso di lavoro manualmente.

Termina

Il motore del flusso di lavoro interrompe l'istanza del flusso di lavoro e la scarica dalla memoria. Lo stato dell'istanza viene modificato in "Completato (terminato)".

Annulla

Il motore del flusso di lavoro richiama eventuali gestori di annullamento definiti nel flusso di lavoro.

L'esercitazione è intenzionalmente progettata affinché l'utente possa riprendere manualmente l'istanza del flusso di lavoro dopo aver risolto il problema. Pertanto, la configurazione avverrà in modo da utilizzare l'azione AbandonAndSuspend.

Per configurare l'azione su un'eccezione non gestita

  1. Avviare o passare alla finestra Gestione IIS.

  2. Espandere il nodo del server, espandere Siti e fare clic su OrderService.

  3. Fare doppio clic su Servizi.

  4. Fare clic con il pulsante destro del mouse su Microsoft.Samples.Dublin.Tutorials.OrderService.OrderWorkflowService.OrderWorkflow, quindi fare clic su Configura per aprire la finestra di dialogo Configura servizio.

  5. Nel riquadro di sinistra fare clic su Gestione host flusso di lavoro.

  6. Nella casella Azione in caso di eccezione non gestita, selezionare Abbandona e sospendi, quindi fare clic su OK.

Creazione di una nuova istanza del flusso di lavoro

In questo passaggio verrà creata una nuova istanza del flusso di lavoro. L'istanza del flusso di lavoro verrà rilevata in un'eccezione non gestita perché l'endpoint OrderProcessingService dispone di un indirizzo non corretto.

Per creare una nuova istanza del flusso di lavoro

  1. Aprire Windows Explorer e individuare la cartella C:\DublinTutorial\Client.

  2. Eseguire OrderClient.exe.

  3. Fare clic su Invia.

  4. Passare a Esplora risorse e individuare C:\DublinTutorial\Inbox.

  5. Dovrebbe essere visualizzato un solo file di posta elettronica presente nella cartella.

  6. Chiudere Esplora risorse.

Risoluzione dei problemi relativi all'istanza del flusso di lavoro

In questo passaggio verranno risolti dei problemi relativi all'istanza del flusso di lavoro non riuscita.

Per risolvere i problemi relativi all'istanza del flusso di lavoro

  1. Avviare o passare alla finestra Gestione IIS.

  2. Espandere il nodo del server, espandere Siti e fare clic su OrderService.

  3. Fare doppio clic su Dashboard. Nella sezione Cronologia istanze WF, nel conteggio Errori dovrebbe essere visualizzato il valore 1.

  4. Nella sezione Cronologia istanze WF, fare clic sul collegamento Errori. Nell'elenco dovrebbe essere visualizzata un'istanza del flusso di lavoro e lo stato dovrebbe essere impostato su Interrotto.

  5. Fare clic con il pulsante destro del mouse sull'istanza del flusso di lavoro, quindi fare clic su Visualizza eventi rilevati. Il terzo evento dall'alto dovrebbe essere un errore.

  6. Fare clic sull'evento di errore per selezionarlo.

  7. Nel riquadro Dettagli, fare clic sulla scheda Errori (1). Dovrebbe essere visualizzata un'eccezione simile alla seguente:

    System.ServiceModel.EndpointNotFoundException: There was no endpoint listening at https://localhost:90/OrderProcessingService/OrderProcessing.svc that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details. ---> System.Net.WebException: The remote server returned an error: (404) Not Found.
    

    Viene indicato chiaramente There was no endpoint listening at https://localhost:90/OrderProcessingService/OrderProcessing.svc that could accept the message.

    Ee677277.3c3176b2-0816-4f7e-b3e6-bd458f2c92b4(it-it,MSDN.10).gif

  8. Attenersi alle istruzioni riportate nella sezione Creazione di un errore di configurazione per correggere la configurazione rimuovendo WrongAddress dalla casella Indirizzo endpoint.

Ripresa dell'istanza del flusso di lavoro

Nel passaggio precedente è stato identificato il problema e risolto l'errore di configurazione dell'endpoint. È possibile riprendere l'istanza del flusso di lavoro se l'azione sull'eccezione non gestita viene impostata su AbandonAndSuspend come fatto precedentemente in questa lezione.

Per riprendere l'istanza del flusso di lavoro

  1. Avviare o passare alla finestra Gestione IIS.

  2. Espandere il nodo del server, espandere Siti e fare clic su OrderService.

  3. Fare doppio clic su Servizi.

  4. Fare clic con il pulsante destro del mouse su Microsoft.Samples.Dublin.Tutorials.OrderService.OrderWorkflowService.OrderWorkflow, quindi fare clic su Visualizza istanze WF permanenti. L'istanza del flusso di lavoro dovrebbe essere elencata con lo stato Sospeso.

  5. Fare clic con il pulsante destro del mouse sull'istanza del flusso di lavoro e quindi scegliere Riprendi.

  6. Aprire Esplora risorse e verificare i due file di posta elettronica aggiuntivi nella cartella C:\DublinTutorial\Inbox. Prima di ricevere i file, potrebbero essere necessari circa due minuti.

In questa lezione è stato utilizzato AppFabric per correggere un errore di configurazione.

Vedere anche

Concetti

Lezione 1: Guida introduttiva
Lezione 2: Distribuzione del servizio OrderService
Lezione 3: Configurazione del servizio OrderService
Lezione 4: Monitoraggio dello stato del servizio OrderService
Lezione 5: Monitoraggio dei dati di rilevamento personalizzati per il servizio OrderService