Bonjour, Lorsque l'on à besoin d'effectuer un grand nombre de traitement sur des listes (création, modification, suppression), il est très fortement déconseillé de le faire via une itération du type foreach. L'API SharePoint met à notre disposition une méthode : Code : Sélectionner tout - Visualiser dans une fenêtre à part 1234 // Summary*: // Processes the specified batch string of commands for sending multiple requests // to the server per transaction. // ...
// Summary*: // Processes the specified batch string of commands for sending multiple requests // to the server per transaction. //
Voici une petite class C# qui permet de désactiver le déclanchement des receivers durant l'exécution d'un script. Code : Sélectionner tout - Visualiser dans une fenêtre à part 123456789101112class DisableEventReceiverFiringScope : SPEventReceiverBase, IDisposable { public DisableEventReceiverFiringScope() { EventFiringEnabled = false; } public void Dispose() { EventFiringEnabled = true; } } Exemple d'utilisation : Code : Sélectionner tout - Visualiser dans une fenêtre à part using(DisableEventReceiverFiringScope ...
class DisableEventReceiverFiringScope : SPEventReceiverBase, IDisposable { public DisableEventReceiverFiringScope() { EventFiringEnabled = false; } public void Dispose() { EventFiringEnabled = true; } }
using(DisableEventReceiverFiringScope
Voici une petite méthode d'extension bien pratique lorsque l'on cherche à normaliser une chaine de caractères : Code : Sélectionner tout - Visualiser dans une fenêtre à part 1234567public static string RemoveDiacritics(this string str) { string _str = str.Normalize(NormalizationForm.FormD); char[] chars = _str.Where(c => CharUnicodeInfo.GetUnicodeCategory(c) != UnicodeCategory.NonSpacingMark).ToArray(); return new string(chars).Normalize(NormalizationForm.FormC); } Exemple d'utilisation : ...
public static string RemoveDiacritics(this string str) { string _str = str.Normalize(NormalizationForm.FormD); char[] chars = _str.Where(c => CharUnicodeInfo.GetUnicodeCategory(c) != UnicodeCategory.NonSpacingMark).ToArray(); return new string(chars).Normalize(NormalizationForm.FormC); }