Domanda

Ho il mio flusso di lavoro ospitato in un WorkflowServiceApplication in esecuzione su IIS 5 (ambiente di produzione sarà IIS6) con un database di persistenza. E 'un servizio di richiesta / approvazione quindi c'è un ritardo (pochi giorni), mentre in attesa di approvazione e se questo ritardo passa senza l'approvazione del flusso di lavoro invia una e-mail al responsabile dell'approvazione. Ho notato che i flussi di lavoro in sospeso solo "svegliano" e mandano i loro messaggi di posta elettronica se dare il via una nuova richiesta (vale a dire nuova istanza del flusso di lavoro). Suppongo che in partenza un nuovo flusso qualcosa controlli di istanze per le istanze che sono dovuti a riprendere e li riprende. Ho appena notato il problema perché ero in precedenza il test con ritardi che erano a pochi minuti invece che giorni. Non ho provato su IIS6 ancora, ma mi aspetto che sarebbe stato lo stesso.

Q1) ho bisogno di scrivere una console app o qualcosa per verificare periodicamente e riprendere i flussi e in tal caso qualcuno può consigliare come si fa? Oppure ho appena fatto qualcosa di sbagliato?

q2) Assumendo che la risposta a Q1 è "sì, avete bisogno di qualcosa di scrivere" se dovessi usare IIS7 e AppFabric (che può essere possibile) sarebbe il sonno / riprendere il proprio lavoro senza di me dover scrivere alcun codice per controllare e riprendere i flussi? vale a dire solo distribuire il servizio di flusso di lavoro in AppFabric e funziona?

Grazie in anticipo.

È stato utile?

Soluzione

La risposta è sì q1. Dopo un AppDomain IIS ricicla senza riavviarlo fino a quando c'è una richiesta esterna di esso. Di conseguenza, il WorkflowServiceHost non è attivo e scaduto non saranno riprese le attività di ritardo. Con le versioni di IIS prima 7 è necessario creare una richiesta esterna per assicurarsi che il WorkflowServiceHost è disponibile. Il modo più semplice di farlo è solo avere un servizio di Windows recuperare periodicamente la pagina di WSDL.

Se l'aggiornamento a IIS7 e AppFabric è possibile configurare un servizio per l'avvio automatico non appena si esegue IIS e che si prenderà cura dello stesso problema. Io preferirei questa opzione come AppFabric ti dà un sacco di vantaggi extra, come il monitoraggio.

Altri suggerimenti

Servizio di gestione del flusso di lavoro di Sì Windows Server AppFabric si sveglierà flussi di lavoro con timer in sospeso. È possibile ottenere questo gratuitamente, così come altri goodies.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top