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.




Event Receiver: "properties.Cancel = true;" ohne Reaktion

Unbeantwortet Dieser Beitrag hat 4 Antworten

Ohne Rang
53 Beiträge
Jan D erstellt 22 Nov. 2010 14:28
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo zusammen,

 

soeben habe ich in SharePoint einen Event Receiver in C# angelegt. Wie auf dieser Seite (http://msdn.microsoft.com/en-us/library/bb736146(office.12).aspx) beschrieben möchte ich den Event Receiver mit dem erscheinen einer Fehlermeldung canceln:

 

public override void ItemAdded(SPItemEventProperties properties){

   if (1 == 1) {
      properties.ErrorMessage = "No Message";
      properties.Cancel = true;
   }

}

 

Vielleicht missverstehe ich die MSDN-Website; jedoch wundere ich mich, dass die Funktion den Event Receiver nicht  abbricht, sondern ganz normal durchlaufen lässt.

Könnte mir vielleicht jmd eine Hilfestellung geben, wie ich einen Event Receiver durch eine Fehlermeldung abbreche?

 

Lg

Jan

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 22 Nov. 2010 15:13
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Man kann die asynchronen EventReceiver (-ed) nicht abbrechen. Eben, weil sie asynchron sind. Das geht nur mit den synchronen EventReceivern (-ing), in Deinem Fall also ItemAdding statt ItemAdded.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
53 Beiträge
Jan D Als Antwort am 24 Nov. 2010 11:46
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Danke Andi Fandrich für Deine wie immer schnelle und kompetente Antwort.

Das Abbrechen der Schleife muss ich dann wohl mit IF-ELSE-Schleifen umgehen.

 

Frage: Besteht trotzdem die Möglichkeit den Benutzer über einer "Meldung" wie die Error-Meldung zu informieren?

 

Lg

Jan

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 24 Nov. 2010 11:56
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Nein, bei den asynchronen EventReceivern kann es keine Interaktion mit dem Benutzer geben - genau das meint asynchron ;-)

Warum nimmst Du nicht einfach ItemAdding?

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
53 Beiträge
Jan D Als Antwort am 25 Nov. 2010 11:02
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Denkfehler von mir!

 

Ich möchte, wie hier (http://sharepointcommunity.de/forums/p/8291/23730.aspx) diskutiert auf die Datei zugreifen.

 

Die sinnvollste Möglichkeit besteht dann wahrscheinlich darin, einen 2. Event-Receiver mit ItemAdding hinzu zu fügen :) - habe ich so gar nicht dran gedacht...

 

Danke und LG

Jan