Eventhandler führt gewollt Rekursion aus, aber nur bis zu einer Tiefe von 10

Beantwortet Eventhandler führt gewollt Rekursion aus, aber nur bis zu einer Tiefe von 10

  • Mittwoch, 9. Juni 2010 11:45
     
     

    Hi,

    wir haben eine Liste, in der die Spalte "Rank" existiert. Wird der Wert bei einem Item für die Spalte geändert, sollen alle Items deren Wert größergleich dem neuen Wert ist um eins erhöht werden.

    Funktioniert auch prinzipell, jedoch nach jeweils 10 Items ist schluß, obwohl noch x-weitere betroffen wären.

    Liegt bei den Eventhandler ein maximale Rekurisionstiefe vor?

    Wenn ja, welche andere Lösungsmöglichkeit existiert?

    thx

Alle Antworten

  • Mittwoch, 16. Juni 2010 09:14
     
     

    Hallo Michi,

    ist das Problem noch aktuell? schon mit einem Workflow probiert?

    Gruß,
    Andrei

  • Dienstag, 27. Juli 2010 13:46
     
     Beantwortet Enthält Code

    Hi Michi,

    in SharePoint 2007 gab es eine solche Begrenzung, die ist mit einem CU gekommen, weil ein Bug im SharePoint war. Sobald mehrere ContentTypes auf einer CustomList waren, sind die Events mehrfach gefeuert worden.

    Ich hab da mal in irgend einem amerikanischen Blog einen Eintrag zu gefunden weil wir das Problem hatten dass unsere Events zu oft geflogen sind. :(

    In deinem Fall würde sich doch anbieten die Items mit einem SPQuery rauszusuchen und dann das SPListItem.Update innerhalb DisableEventFiring() und EnableEventFiring() zu machen

     

    // currentItem ist eine SPListItem Instanz
    
    this.DisableEventFiring();
    currentItem.SystemUpdate(false);
    this.EnableEventFiring();
    

    Damit sollte dein Szenario auch funktionieren. So muss die Rekursion quasi innerhalb der ItemUpdated Methode geschehen...

    Gruß

    Thorsten


    Es soll Fälle geben, in denen die Suche bereits die Antwort auf deine Frage weiß.
    • Als Antwort markiert M i c h i Mittwoch, 8. September 2010 07:45
    •