2016-09-04 8 views
0

У меня нет опыта разработки sharepoint, меня попросили взглянуть на производительность рабочего процесса. После некоторой трассировки, я нашел какую часть занимает слишком много времени, чтобы выполнить:Производительность рабочего процесса Sharepoint Проблема

using (var site = new SPSite(WorkflowWeb.Site.ID, workflowProperties.OriginatorUser.UserToken)) 
     { 
      using (var web = site.OpenWeb(WorkflowWeb.ServerRelativeUrl)) 
      { 
       var list = web.Lists[WorkflowItem.ParentList.ID]; 
       var item = list.Items[WorkflowItem.UniqueId]; 


       item[new Guid("{54GH32R2-HG66-654a-KKKK-456FFF864654}")] = SPUtility.GetLocalizedString("$Resources:Assigned_Car", "RealB", WorkflowWeb.Language); 
       item[new Guid("{54FG6215-9584-123g-KJHG-456FFF864654}")] = DateTime.Now; 
       item.Update(); 
      } 
     } 

Эта часть занимает около 5 минут, чтобы выполнить. Любой отзыв, чтобы улучшить производительность?

Как я уже упоминал, у меня нет опыта SP, у меня также нет большого знания того, что делает рабочий процесс, я просто должен решить его быстро и грязно.

ответ

0

Как-то это теперь происходит быстрее за счет изменения:

var item = list.Items[WorkflowItem.UniqueId]; 

Для

var item = list.GetItemByUniqueId(WorkflowItem.UniqueId); 
0

В нормальных условиях представленный фрагмент кода не может занять 5 минут. Выполнять этот код, даже если ранее не кэшированный SPSite должен быть открыт, является второстепенным вопросом.

Что делает занять до 5 минут в SharePoint 2010 с конфигурацией по умолчанию owstimer (процесс выполнения рабочих процессов в асинхронном режиме) задержка между двигателем вызовов рабочих процессов, которые в свою очередь выполняют рабочие процессы. В зависимости от того, как вы измеряете «производительность» («продолжительность времени выполнения» будет гораздо лучшим термином для использования здесь) рабочего процесса, этот простой может быть включен в ваши результаты.


Примечание стороны:

У меня нет никакого опыта SP, я также не имею много знаний о том, что делает рабочий процесс, я просто решить быстро и грязно.

Тогда это очень плохая идея, связанная с SharePoint за пределами основных задач обучения. Настройка производительности и устранение неполадок, безусловно, - это не задачи, подходящие для людей с полным отсутствием знаний и опыта работы с платформой. SharePoint - очень сложная платформа, и ее поведение, порой, далеко не просто. Вы должны учиться и получать опыт работы с SharePoint на чем-то гораздо менее сложном.

+1

спасибо, что нашли время, чтобы ответить на мой вопрос. Моя цель - не изучать платформу или не приобретать опыт, это всего лишь однократный запрос от друга, чтобы помочь ему улучшить производительность. но, как вы уже упоминали, мне, возможно, придется сначала найти, в какой строке есть проблема, и исследовать дальше. еще раз спасибо. – Maro

+0

* Как вы измерили производительность рабочего процесса? Использование внешнего инструмента профилирования производительности будет лучшим вариантом. –