Я на самом деле уже решил это, но я нахожу решение странным, если не сказать больше. Если обнаружил, что я получаю ой так хорошо
"ОШИБКА: запрос не найден в TrackedRequests. Возможно, мы создаем и закрываем веб-сайты в разных потоках"
Что было бы очень знакомо большинству разработчиков SharePoint. В этом случае это для рабочего процесса. Мне удалось решить это, но это было немного загадочно для меня. После некоторых проб и ошибок это, по-видимому, решило проблему.
Предыдущий код:
SPWeb = workflowPriperties.Site.RootWeb;
Текущий код:
Guid siteId = workflowProperties.Site.ID;
using (SPSite site = new SPSite(siteId))
{
using (SPWeb web = site.OpenWeb(site.RootWeb.ID))
{
//Do Something
}
}
Это решило проблемы, которые исходили из моего конкретного метода. Хотя теперь я получил сообщение об ошибке, которое, похоже, не пришло из моего собственного пользовательского кода (я до сих пор не знаю, почему), я озадачен, поскольку у меня сложилось впечатление, что объект workflowProperties, который был создан, как показано ниже:
public Microsoft.SharePoint.Workflow.SPWorkflowActivationProperties workflowProperties = new Microsoft.SharePoint.Workflow.SPWorkflowActivationProperties();
все сродни получению их от SPContext, что означает, что их не нужно утилизировать или закрывать. Означает ли это, что некоторые свойства объекта SPWorkflowActivationProperties фактически являются новыми экземплярами объектов SPRequest или являются производными от новых объектов SPRequest?
Я надеюсь, что мой вопрос не кажется слишком тупым, и если это было задано ранее. Пожалуйста, милостиво укажите мне на ветку, которая отвечает на это.
Спасибо.