繁体   English   中英

Sharepoint工作流程性能问题

[英]Sharepoint workflow performance Issue

我没有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经验,对工作流程的工作也不了解,我只需要快速而轻松地解决它。

在正常情况下,所提供的代码段无需花费5分钟即可执行。 就执行而言,即使需要打开以前未缓存的SPSite ,执行此代码也SPSite不到一秒的时间。

什么需要长达5分钟的SharePoint 2010的默认配置owstimer (工作流执行异步的过程)是工作流引擎调用这反过来执行工作流程之间的延迟。 根据您对工作流的“性能”(“运行时间”是一个更好的术语)的衡量方式,此空闲时间可能会包含在您的结果中。


边注:

我没有SP经验,对工作流程的工作也不了解,我只需要快速又轻松地解决它。

然后,在基本学习任务之外再使用SharePoint是一个非常糟糕的主意。 性能调优和故障排除绝对适合完全缺乏该平台知识和经验的人使用。 SharePoint是一个非常复杂的平台,有时其行为远非那么简单。 您应该学习和获得SharePoint方面的经验,而这要简单得多。

现在可以通过更改来更快:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM