代码之家  ›  专栏  ›  技术社区  ›  Jonathan Schuster

以编程方式从checkoutsepstemplate创建列表引发异常

  •  1
  • Jonathan Schuster  · 技术社区  · 16 年前

    (此问题已在msdn论坛上交叉发布 here )

    我正在一个定制的SharePoint/Commerce服务器站点上工作,我有一个定制的功能,它可以做两件事:通过模块提供一些页面,并使用功能接收器中的checkoutSepsList模板提供签出步骤的列表。但是,出于某种原因,在某些情况下,列表创建会引发异常:

    文件名无效

    无法使用指定的文件名。它可能是现有文件或目录的名称,或者您可能没有访问该文件的权限。

    当我试图导航到列表时,我被带到列表设置页面(应该有一个默认视图),列表中有0个项目。所以它看起来像是在列表的一半上提供了资源,但却在中间的某个地方崩溃了。

    复制这个问题有点困难。如果我通过命令行上的stsadm命令激活该功能,它总是失败的,但是如果我通过SharePoint用户界面激活,它有时会失败,有时不会。如果通过模块提供的页面还不存在,那么崩溃用户界面的频率似乎更高,但我还不确定。

    这是违规代码:

    SPListTemplateCollection listTemplateCollection = web.Site.GetCustomListTemplates(web);
    SPListTemplate checkoutStepsTemplate = listTemplateCollection["CheckoutStepsTemplate"];
    Guid listID = web.Lists.Add(listName, String.Empty, checkoutStepsTemplate); // the exception is thrown on this line
    

    知道这是怎么回事吗?我会一直在调试这个,我很乐意提供任何有助于诊断问题的信息。

    1 回复  |  直到 16 年前
        1
  •  0
  •   Jonathan Schuster    16 年前

    我从来没有找到这个问题的完整解决方案,但是我对这个问题进行了足够的诊断,我们找到了一个可以接受的解决方案。结果发现,只有在通过同一功能中的模块提供元素时才会出现问题,但当这些模块包含在不同的功能中时,一切都正常工作。

    我们决定暂时继续,就我所知,这是问题的根本原因,但这至少是一个足够好的解决办法,将来不会引起我们的头痛。