Я использую объектную модель SharePoint через консольное приложение на том же сервере, что и установка SharePoint, и использую следующий код:
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();
}
Я получаю паузу в несколько секунд между «Назначением значения заголовка» и «Назначенным значением заголовка».
Когда я развертываю код как веб-часть, его мгновенная задержка кажется только при развертывании кода как консольного приложения.
Редактировать: Больше информации! Когда мне назначено более одного поля, его всегда первое поле, которое является медленным, любые последующие назначения выполняются так быстро, как ожидалось. Если я поменяю порядок полей, это не повлияет на задержку - первое поле всегда медленное.
Есть мысли?