2009-05-25 9 views
1

alt text http://home.elka.pw.edu.pl/~pkolodzi/Capture.PNGpersistance Flux de travail - WebServiceInputActivity

J'ai créé l'interface IAdder avec deux méthodes: PassA et PASSB. Mon flux de travail commence par webServiceInputActivity1 qui est activé par PassA appel distant. Un autre élément de mon flux de travail est un autre élément webServiceInputActivity2. Cette fois, la propriété "IsActivating" est définie sur false. Je m'attends à ce que mon flux de travail soit conservé après la fin de la première activité (ce qui renvoie un résultat nul). Le workflow doit être réactivé en appelant la méthode Web PassB.

Après la publication de flux de travail en tant que service Web et l'invocation PassA voici ce que je reçois:

System.InvalidOperationException: Workflow with id "b0c5f9dd-57f3-427f-b172-17d4663f7eaf" not found in state persistence store. 
    at System.Workflow.Runtime.Hosting.PersistenceDBAccessor.RetrieveInstanceState(Guid instanceStateId, Guid ownerId, DateTime timeout) 
    at System.Workflow.Runtime.Hosting.SqlWorkflowPersistenceService.LoadWorkflowInstanceState(Guid id) 
    at System.Workflow.Runtime.WorkflowRuntime.InitializeExecutor(Guid instanceId, CreationContext context, WorkflowExecutor executor, WorkflowInstance workflowInstance) 
    at System.Workflow.Runtime.WorkflowRuntime.Load(Guid key, CreationContext context, WorkflowInstance workflowInstance) 
    at System.Workflow.Runtime.WorkflowRuntime.GetWorkflow(Guid instanceId) 
    at System.Workflow.Activities.WorkflowWebService.Invoke(Type interfaceType, String methodName, Boolean isActivation, Object[] parameters) 
    at PersistanceWebServiceWorkflow.Workflow1_WebService.PassA(Int32 a) in C:\Users\djpiter\AppData\Local\Temp\2dnwfnsn.cs:line 39 

Avez-vous des idées ce que je fais mal?

ps :(La base de données est correctement réglée. Je l'ai testé sur flux de travail hébergé dans l'application de la console et l'activité de retard .J'ai aussi ajouté la ligne nécessaire au fichier web.config.)

Cordialement PK

Répondre

0

Si l'une de vos activités génère une exception, les informations sur l'état du workflow sont supprimées de la base de données. Exécutez votre débogueur de workflow avec "break when exception is throw" configuré dans Debug - Exceptions - Common Language Runtime Exceptions

+0

Mes activités ne doivent pas générer d'exception. Je pense qu'il me manque quelque chose - après que le premier workflow de l'activité continue à la deuxième activité ... Où est l'option "break when exception is throw"? – pkolodziej

+0

Voir Déboguer -> Exceptions, cochez la case après "Exceptions d'exécution courantes du langage" Au cours de quelle étape du flux obtenez-vous l'erreur? Tout de suite lorsque vous appelez PassA pour signaler webServiceInputActivity1? –

+0

Je n'ai absolument aucune idée pourquoi le lendemain le même code a bien fonctionné. Quoi qu'il en soit - merci pour votre temps. – pkolodziej

Questions connexes