我实际上已经解决了这个问题,但我发现解决方案很奇怪,所以至少可以这么说。如果发现我得到了哦,太好了
“错误:在 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 对象?
我希望我的问题看起来并不过分愚蠢,如果以前有人问过这个问题。请慷慨地指出我回答这个问题的线程。
谢谢。