Интерфейс ProjectServer ReadProject невероятно медленный; создает 200 МБ XML-файл! быстрее?
Я пытаюсь создать запланированную задачу, которая обновляет менее 5% задач на сервере проекта, но у меня проблема с методом ReadProject, который занимает слишком много времени для выполнения;
По сути, поскольку это происходит через веб-сервисы, генерируется гигантский XML-файл размером 200 МБ для представления данных задачи, которые затем преобразуются только обратно в объекты; Вызов может занять до 2 минут.
Я покопался в базе данных и смог быстро найти нужные данные с помощью быстрого запроса и вернуть данные в отчетные 0 мс (вероятно, где-то между 0 и 16 мс?); тем не мение; Мне нужно обновить некоторые пользовательские поля данных задачи, и я бы предпочел не делать это через базу данных, если не потребуется.
Есть ли лучшие способы доступа к проектам; вернуть только определенный набор задач; обновить их и проверить их обратно в проект?
Большое спасибо заранее, Крис
1 ответ
В итоге я просто через базу данных прочитал нужные данные, а затем, если я вносил какие-либо изменения, использовал интерфейс PSI;
Я также удостоверился, что помечаю элементы как обновленные, если я что-то изменил, а затем получаю изменения только для отправки обратно на сервер. У PSI есть ограничение в 1000 предметов, поэтому вам нужно их группировать, если у вас их больше. Жаль, что не было документировано в описании функции... кровавый MSDN документы:(