Question

J'ai un récepteur d'événement que j'ai développé avec Visual Studio que je souhaite déployer.Mais dans ce cas, je veux déployer sans l'associer avec n'importe quelle liste.(J'ai ajouté le récepteur d'événement à une liste spécifique plus tard, via PowerShell.)

Je sais que si j'ai mis le Scope pour Site ensuite, le récepteur se déclenche pour toutes les listes et bibliothèques.Et je sais que si j'ai mis le Scope pour Web et de fournir une valeur pour ListUrl il sera seulement se lier à la liste spécifiée.

Cependant, il semble que si je mets le Scope pour Web et ne spécifiez pas un ListUrl, il agit de la même manière que Site et se lie à tout.Voici mon code

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <Receivers Scope="Web">
    <Receiver>
      <Name>AutoNumberDocumentItemAdded</Name>
      <Type>ItemAdded</Type
      <Assembly>$SharePoint.Project.AssemblyFullName$</Assembly>
      <Class>ArticleManagementWorkflow.AutoNumberDocument.AutoNumberDocument</Class>
      <SequenceNumber>10000</SequenceNumber>
      <Synchronization>Synchronous</Synchronization>
    </Receiver>
  </Receivers>
</Elements>

Est-il un moyen de déployer et activer le récepteur sans qu'il soit lié à quelque chose?

Était-ce utile?

La solution

Déployer le récepteur d'événements et de ne pas activer la Fonction.Les éléments de fichier ne s'attache le récepteur d'événements de la liste lorsque la fonction est activée.Fixez le récepteur d'événement à la liste de vos powershell par la suite.

Autres conseils

Il y a une autre option comment faire pour ajouter un Événement Récepteur à une Liste spécifique - ajouter le Récepteur d'Événements pour le Type de Contenu.

Étapes:

  • Créer Type de Contenu personnalisé pour une Liste
  • Ajouter le Récepteur d'Événements pour le Type de Contenu
  • Ajouter un Type de Contenu à une Liste spécifique afin de vous inscrire à l'Événement Récepteur

Dans ce cas, vous serez en mesure de contrôler la Liste d'un Récepteur d'Événement doit être enregistré.

Veuillez consulter un grand article Procédure pas à pas 3 – le Développement d'un Récepteur d'Événement pour un Type de Contenu pour plus de détails.

Dans votre cas, vous n'avez pas besoin d'une fonctionnalité.
Tous vous avez besoin est une bibliothèque de classe avec votre récepteur d'événements de classe, signe de l'assemblée et de la déployer à GAC.Puis avec PowerShell enregistrer le récepteur d'événements de la liste que vous souhaitez.

Comment à propos de l'attachement à une liste factice qui n'existe pas réellement dans le web, puis plus tard, de l'attacher à la liste à l'aide de Powershell.

Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top