Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2010 从Visual Studio 2010测试SharePoint列表工作流_Visual Studio 2010_Sharepoint 2010 - Fatal编程技术网

Visual studio 2010 从Visual Studio 2010测试SharePoint列表工作流

Visual studio 2010 从Visual Studio 2010测试SharePoint列表工作流,visual-studio-2010,sharepoint-2010,Visual Studio 2010,Sharepoint 2010,我试图在Visual Studio 2010 for SharePoint 2010中创建自定义工作流,但遇到问题。我已经知道如何将工作流部署到SharePoint网站,但执行它会导致错误。但是,错误消息是完全非描述性的,所以我想知道是否有一种方法可以从VisualStudio执行它,这样我就可以看到它失败的地方,以及可能的原因 我试图根据给定的ListItem.Title信息创建一个新的子网站 你是如何进行调试的 作为参考,这里是我的代码 class CreateSubsite : Syste

我试图在Visual Studio 2010 for SharePoint 2010中创建自定义工作流,但遇到问题。我已经知道如何将工作流部署到SharePoint网站,但执行它会导致错误。但是,错误消息是完全非描述性的,所以我想知道是否有一种方法可以从VisualStudio执行它,这样我就可以看到它失败的地方,以及可能的原因

我试图根据给定的
ListItem.Title
信息创建一个新的子网站

你是如何进行调试的

作为参考,这里是我的代码

class CreateSubsite : System.Workflow.ComponentModel.Activity
{
    protected override System.Workflow.ComponentModel.ActivityExecutionStatus
        Execute(System.Workflow.ComponentModel.ActivityExecutionContext executionContext)
    {
        createSite();
        return System.Workflow.ComponentModel.ActivityExecutionStatus.Closed;
    }

    public void createSite()
    {
        using (SPSite currentSite = SPContext.Current.Site)
        {
            using (SPWeb currentWeb = SPContext.Current.Web)
            {
                SPList currentList = SPContext.Current.List;
                SPListItem currentListItem = SPContext.Current.ListItem;

                WorkflowContext workflow = new WorkflowContext();
                SPSite parentSite = new SPSite(workflow.CurrentWebUrl);

                SPWeb newSite = currentSite.AllWebs.Add(
                    currentListItem.Title.Replace(" ", "_"),
                    currentListItem.Title,
                    String.Empty, currentWeb.Language, "CI Template", false, false
                );
            }
        }
    }
}

尝试从代码中删除Using关键字。在使用SPContext时,不应处置SPSite和SPWeb,因为处置该对象可能会中断工作流,因为它可能仍需要对该对象的引用供以后使用。 只需重写代码而不用使用

  public void createSite() {
        SPSite currentSite = SPContext.Current.Site 
        SPWeb currentWeb = SPContext.Current.Web
         //.... Rest of your code
希望能有所帮助
问候。

谢谢!我发现了Intellitrace,因此这正是我目前正在理解和使用的内容。如果有人偶然发现了这一点,我会部署工作流,在我的网站上启用它,运行工作流,然后搜索位于“C:\Program files\Common files\Microsoft Shared\Web Server Extensions\14\LOGS”中的日志文件我还发现您不能在工作流中使用SPContext(它返回null并导致工作流出错)源: