Что можно сделать с отрицательными числами в счетчиках элементов библиотеки? ItemCount - это свойство только для чтения, что вы должны делать, если оно совершенно неверно?
Ранее на прошлой неделе я проводил некоторое тестирование, включающее копирование и перемещение файлов и папок из одной библиотеки документов в другую. Я переносил элементы из нашей фактической библиотеки документов в библиотеку «Тест», которая использовалась для запуска всевозможных тестов объектной модели и рабочего процесса, прежде чем переходить на публичные списки и библиотеки. Я заметил, что с файлами все работало правильно, но когда я скопировал папку, в которой был файл (используя SPFolder.CopyTo()
), количество элементов для тестовой библиотеки фактически не обновлялось. Так как это тестирование в основном играло вокруг, я не обратил на это внимания.
Сегодня я вернулся в библиотеку тестов, чтобы протестировать другой рабочий процесс (в отношении преобразования PDF). Пока я был там, я решил удалить папку, которую оставил на прошлой неделе, так как она мне больше не нужна. И вот тогда я увидел, что количество элементов для списка упало до -1 в представлении содержимого всего сайта. Когда я удалил новый PDF, который только что загрузил, он опустился до -2! Я даже проверил с помощью объектной модели ... получив экземпляр библиотеки, я проверил свойство ItemCount ... и вот оно также было -2.
Есть ли какой-нибудь процесс, работающий в фоновом режиме, вроде того, который очищает историю рабочего процесса, который исправит проблему такого рода? Или программист должен следить за такой ситуацией и придумывать вычисления, чтобы компенсировать «штраф за подсчет»?