Ich hatte das Problem mit einem Feature, welches nur in bestimmten Fällen aktiviert werden soll.
Leider gibt es nur ein acyncrones FeatureActivated Event und kein syncrones FeatureActivating Event, welches unterbrochen werden kann.
Es funktioniert aber trotzdem:
1: public override void FeatureActivated(SPFeatureReceiverProperties properties)
2: {
3: try
4: {
5: using (SPWeb web = properties.Feature.Parent as SPWeb)
6: {
7: if (...Abfrage...)
8: {
9: web.Features.Remove(properties.Feature.DefinitionId, true);
10: return;
11: }
12: }
13: }
14: catch (Exception exception)
15: {
16: Logger.Current.WriteEntry(exception, Categrory.AttributeInheritance, false);
17: throw exception;
18: }
19: }
Entscheidend sind diese beiden Zeilen:
web.Features.Remove(properties.Feature.DefinitionId, true); return;
Powered by: newtelligence dasBlog 2.1.8102.813
© Copyright 2010, Benjamin
E-mail