SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Aus VB-Workflow gestartete SPD-Workflows laufen nicht richtig

Unbeantwortet Dieser Beitrag hat 3 Antworten

Ohne Rang
216 Beiträge
Nachtschelm erstellt 7 Juli 2010 09:35
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Community,
ich stehe seit einigen Tagen vor einem Problem, zu dem ich keine Lösung finde. Doch erst mal das Szenario:

Ich habe zwei Listen, die ich über zwei VB-Workflows synchronisiere. Wenn es änderungen gibt, sollen Mails verschickt werden. Dafür habe ich SPD-Workflows hergenommen, weil ich ehrlich gesagt keine Erfahrung mit dem Mailversand aus C# habe. Der VB-Workflow synchronisiert also die Liste und soll dann aus dem Code heraus die SPD-Workflows (geht ja nicht anders, da das Systemkonto keine SPD-WFs triggern kann) anstoßen. Diese senden dann je nach gesetztem Status Mails oder eben nicht.

Das Anstoßen der Mails klappt auch ohne Probleme. Allerdings werden nicht alle SPD-Workflows korrekt abgearbeitet. Diese sind dadurch erkenntlich, dass deren Status auf "beendet" und nicht auf "abgeschlossen" steht. Das Resultat ist, dass nur eine anstatt drei Mails verschickt werden. Dazu sollte ich noch sagen, dass der Workflow nicht unter der Systemkonto-Identität läuft, sondern die Identität eines dezidierten Useraccounts annimmt. Im Log hab ich folgende Fehlermeldung gefunden, mit der ich leider nicht viel anfangen kann:

 

07/07/2010 09:13:01.17     w3wp.exe (0x15D0)                           0x1414    Windows SharePoint Services       General                           0    Unexpected    ERROR: request not found in the TrackedRequests. We might be creating and closing webs on different threads. ThreadId = 11, Free call stack =    bei Microsoft.SharePoint.SPRequestManager.Release(SPRequest request)     bei Microsoft.SharePoint.SPSite.Close()     bei Microsoft.SharePoint.SPSite.Dispose()     bei Microsoft.SharePoint.Workflow.SPWorkflowAutostartEventReceiver.AutoStartWorkflow(SPItemEventProperties properties, Boolean bCreate, Boolean bChange, AssocType atyp)     bei Microsoft.SharePoint.Workflow.SPWorkflowAutostartEventReceiver.AutoStartWorkflow(SPItemEventProperties properties, Boolean bCreate, Boolean bChange)     bei Microsoft.SharePoint.Workflow.SPWorkflowAutostartEventReceiver.ItemAdded(SPItemEventProperties properties)     bei Microsoft.SharePoint.SPEventManager.RunItem...     
07/07/2010 09:13:01.17*    w3wp.exe (0x15D0)                           0x1414    Windows SharePoint Services       General                           0    Unexpected    ...EventReceiver(SPItemEventReceiver receiver, SPItemEventProperties properties, SPEventContext context, String receiverData)     bei Microsoft.SharePoint.SPEventManager.RunItemEventReceiverHelper(Object receiver, Object properties, SPEventContext context, String receiverData)     bei Microsoft.SharePoint.SPEventManager.<>c__DisplayClass8`1.<InvokeEventReceivers>b__0()     bei Microsoft.SharePoint.SPSecurity.CodeToRunElevatedWrapper(Object state)     bei Microsoft.SharePoint.SPSecurity.RunAsUser(SPUserToken userToken, Boolean bResetContext, WaitCallback code, Object param)     bei Microsoft.SharePoint.SPSecurity.RunAsUser(SPUserToken userToken, CodeToRunElevated code)     bei Microsoft.SharePoint.SPEventManager.InvokeEventReceivers[ReceiverType](SPUserToken userToken, RunEventReceiver runEven...     
07/07/2010 09:13:01.17*    w3wp.exe (0x15D0)                           0x1414    Windows SharePoint Services       General                           0    Unexpected    ...tReceiver, Object receivers, Object properties, Boolean checkCancel)     bei Microsoft.SharePoint.SPEventManager.InvokeEventReceivers[ReceiverType](Byte[] userTokenBytes, RunEventReceiver runEventReceiver, Object receivers, Object properties, Boolean checkCancel)     bei Microsoft.SharePoint.SPEventManager.HandleEventCallback[ReceiverType,PropertiesType](Object callbackData)     bei Microsoft.SharePoint.Utilities.SPThreadPool.WaitCallbackWrapper(Object state)     bei System.Threading.ExecutionContext.runTryCode(Object userData)     bei System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)     bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)  ...     
07/07/2010 09:13:01.17*    w3wp.exe (0x15D0)                           0x1414    Windows SharePoint Services       General                           0    Unexpected    ...   bei System.Threading._ThreadPoolWaitCallback.PerformWaitCallbackInternal(_ThreadPoolWaitCallback tpWaitCallBack)     bei System.Threading._ThreadPoolWaitCallback.PerformWaitCallback(Object state)  , Allocation call stack (if present) null

 

Kann wirklich jede Hilfe brauchen, da ich langsam unter Termindruck gerate.

DANKE!

 

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 7 Juli 2010 10:38
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Nachtschelm"]ERROR: We might be creating and closing webs on different threads[/quote]

Wenn die Fehlermeldung damit zu tun hat, dann sagt sie alles, was Du wissen mußt. Entweder Du arbeitest selbst mit verschiedenen Threads oder Du Dispose()d ein Web an der falschen Stelle (auch bei RunWithElevatedPriviledges) oder Du Dispose()d ein Web gar nicht und SharePoint tut es dann an der falschen Stelle.

Warum machst Du das nicht alles innerhalb eines WF? Mails versenden kannst Du mit einer MailActivity. Eventuell könnte man das Ganze auch innerhalb eines SPD-Workflows machen, aber ich weiß nicht, wie Deine Synchronisierung aussieht...

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
216 Beiträge
Nachtschelm Als Antwort am 7 Juli 2010 10:52
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Andi,
danke für Deine rasche Antwort. hab das Problem mittlerweile lösen können und es war genau das Problem, dass Du mir geschildert hast.

Habe gemerkt, dass mein Forumseintrag zweimal existiert und habe im anderen http://sharepointcommunity.de/forums/t/6766.aspx entsprechend gepostet. Wie kann ich diesen hier löschen?

Danke! :)

PS: Hab Deinen Beitrag mit in den anderen Post (s.o. Link) übernommen.

Viele Grüße
Nachtschelm

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 7 Juli 2010 11:03
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Nachtschelm"]Wie kann ich diesen hier löschen?[/quote]

Hier wird nichts gelöscht ;-)

Viele Grüße
Andi
af @ evocom de
Blog