J'utilise le modèle d'objet SharePoint via une application de la console sur le même serveur que l'installation de SharePoint, et en utilisant le code suivant:retard inexpliqué lors de l'attribution d'une chaîne à un champ de SPListItem
SPSite MySite = new SPSite("http://server/");
SPWeb MyWeb = MySite.OpenWeb();
MyWeb.AllowUnsafeUpdates = true;
SPList MyList = MyWeb.Lists["Test"];
const string EmptyQuery = "0";
SPQuery q = new SPQuery { Query = EmptyQuery };
String Source = "Test String";
for(int i = 1; i < 1000; i++)
{
Console.WriteLine("Creating new item");
SPListItem MyItem = MyList.GetItems(q).Add();
Console.WriteLine("Created new item");
Console.WriteLine("Assigning Title Value");
MyItem["Title"] = Source.ToString();
Console.WriteLine("Assigned Title Value");
MyItem.Update();
}
Je reçois un plusieurs secondes de pause entre "Affectation de la valeur du titre" et "Valeur du titre affecté".
Lorsque je déploie le code en tant que composant WebPart, son instantané, le retard ne semble être que lorsque le code est déployé en tant qu'application de console.
Editer: Plus d'informations! Lorsque j'ai plus d'un champ affecté, son toujours le premier champ qui est lent, toutes les affectations suivantes sont aussi rapides que prévu. Si je change l'ordre des champs, cela n'a aucun effet sur le délai - le premier champ est toujours lent.
Des pensées?
L'exécution sans le débogueur n'a aucun effet, le même délai est rencontré. – Moo