1

(此问题已在此处的 MSDN 论坛上交叉发布。)

我正在开发一个自定义 SharePoint/Commerce Server 站点,并且我有一个自定义功能,旨在做两件事:通过模块提供一些页面,并使用功能接收器中的 CheckoutStepsList 模板提供结帐步骤列表。但是,出于某种原因,在某些情况下,列表创建会引发异常:

无效的文件名

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

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

重现此问题有些困难。如果我通过命令行上的 stsadm 命令激活该功能,它总是会失败,但如果我通过 SharePoint UI 执行此操作,有时会失败,有时不会。如果通过模块配置的页面尚不存在,则似乎更频繁地发生 UI 崩溃,但我还不确定。

这是有问题的代码:

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

知道这里发生了什么吗?我将继续对此进行调试,并且很乐意提供任何可能有助于诊断问题的信息。

4

1 回答 1

0

我从来没有找到这个问题的完整解决方案,但我确实诊断出足够多的问题,我们找到了一个可接受的解决方法。事实证明,该问题仅在通过相同功能中的模块配置元素时发生,但当这些模块包含在不同功能中时,一切正常。

我们决定暂时继续,所以就我找到问题的根本原因而言,但它至少是一个足够好的修复,它不会在未来让我们头疼。

于 2009-05-26T17:48:51.110 回答