2009-05-22 10 views
1

(Cette question a été permuté sur les forums MSDN here.)Programmatically Création d'une liste de CheckoutStepsTemplate lance exception

Je travaille sur un SharePoint personnalisé/Commerce site serveur, et j'ai une fonction personnalisée qui est conçu pour faire deux choses: provisionner quelques pages à travers des modules, et provisionner une liste d'étapes de paiement, en utilisant le modèle CheckoutStepsList dans un récepteur de fonctions. Pour une raison quelconque, bien que, dans certains cas, la création de la liste renvoie une exception:

Nom de fichier non valide

Le nom du fichier que vous avez spécifié ne peut pas être utilisé. Il peut s'agir du nom d'un fichier ou d'un répertoire existant, ou vous n'êtes peut-être pas autorisé à accéder au fichier. Lorsque j'essaie de naviguer vers la liste, je suis amené à la page des paramètres de liste (il devrait y avoir une vue par défaut), et la liste contient 0 élément. On dirait qu'il a provisionné la liste à mi-chemin, mais s'est écrasé quelque part au milieu.

Il est quelque peu difficile de reproduire ce problème. Si j'active la fonction via une commande stsadm sur la ligne de commande, elle échoue toujours, mais si je le fais via l'interface utilisateur SharePoint, elle échoue parfois, et parfois non. Crashing à travers l'interface utilisateur semble se produire plus souvent si les pages fournies à travers les modules n'existent pas encore, mais je ne suis pas sûr de cela pour le moment.

Voici le code incriminé:

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 

Toute idée de ce qui se passe ici? Je vais continuer à déboguer ceci de mon côté, et je serais heureux de fournir toute information pouvant aider à diagnostiquer le problème.

Répondre

0

Je n'ai jamais trouvé une solution complète à ce problème, mais j'ai diagnostiqué assez de problème que nous avons trouvé une solution de contournement acceptable. Il s'avère que le problème ne se produisait que lors du provisionnement d'éléments via des modules dans la même fonctionnalité, mais lorsque ces modules étaient inclus dans une fonctionnalité différente, tout fonctionnait correctement.

Nous avons décidé d'aller de l'avant pour l'instant, donc c'est aussi loin que je suis arrivé à trouver la cause du problème, mais c'est au moins une solution suffisante pour ne pas nous causer de maux de tête.