2009-10-28 39 views
1

我在Visual Studio中,在我的测试环境与通用正常工作和日志,但未能在生产中创建自定义SharePoint工作流活动“出错”,在工作流历史记录列表消息。Sharepoint自定义工作流活动无提示失败; FaultHandler不会被调用(或失败)

为了调试活动(因为对生产的远程调试是最后的手段),我实现了逐步记录到工作流历史列表,以查看它失败的原因,只是发现它似乎在第一次记录发生之前达到错误状态。我一直在使用try-catch来捕获异常并将其记录到列表中。仍然没有记录在历史列表中。

在这一阶段,记录与下面的代码完成:

SPWeb spWeb = (SPWeb)__Context.Web; 
SPWorkflow.CreateHistoryEvent(spWeb, this.WorkflowInstanceId, 0, spWeb.CurrentUser, new TimeSpan(), "Update", "message here", string.Empty); 

其中的SPWeb是工作流方面的的SharePoint Web。再一次,这在测试中起作用。

下一步是使用故障与通用异常类型和Sharepoint的LogToHistoryList活动处理。没有骰子。我也试过在http://www.sharepointsecurity.com/sharepoint/sharepoint-2007-development/fault-handling-in-sharepoint-workflows/具有相同的通用列出的故障处理选项“发生错误”的结果,并在历史列表中没有其他记录。

然后,我的问题是 1)有谁知道什么会导致错误处理程序不在生产中调用(但如果我编程抛出错误,在测试中工作)? 2)是否有什么我可以做的尝试和揣摩出活性示数出没有实际远程调试的活动?

在此先感谢!

+0

我觉得你的痛苦。在SharePoint生成的日志中查找工作流程组件的名称。你会比试图抓住更好的运气,并将其记录到历史记录列表中。 – gn22 2009-10-29 01:56:59

+0

感谢古尔达斯!使用我们的Sharepoint管理员发现记录已被禁用Sharepoint。一旦他重新开启,从我的活动记录的历史列表开始工作。 – laurie 2009-10-29 17:41:12

回答

0

事实证明,日志记录被关闭,这在某种程度上防止了故障处理程序记录到事件历史记录表(或至少,似乎打开重新登录上奇迹般地解决了该问题)。还发现生产服务器上没有安装.NET 3.5框架。