Déployer une extension de remise

Les extensions de remise fournissent leurs informations de configuration sous la forme d'un fichier de configuration XML. Le fichier XML est conforme au schéma XML défini pour les extensions de remise. Les extensions de remise fournissent l'infrastructure nécessaire pour définir et modifier le fichier de configuration.

Si une extension de remise est remplacée ou mise à niveau, tous les abonnements qui référencent cette extension restent valides.

Après avoir écrit et compilé votre extension de remise Reporting Services dans une bibliothèque Microsoft .NET Framework, vous devez copier l’extension dans le répertoire approprié et ajouter une entrée au fichier de configuration Reporting Services approprié afin que le serveur de rapports puisse le localiser.

Élément d’extension de fichier de configuration

Les extensions de remise que vous déployez sur le serveur de rapports doivent être entrées sous la forme d’éléments Extension dans le fichier de configuration. Le fichier de configuration du serveur de rapports est RSReportServer.config.

Le tableau suivant décrit les attributs de l’élément Extension pour les extensions de remise.

Attribut Description
Nom Nom unique de l'extension (par exemple, « Messagerie électronique du serveur de rapports » pour l'extension de remise par messagerie ou « Partage de fichiers du serveur de rapports » pour l'extension de remise par partage de fichiers). La longueur maximale de l'attribut Name est de 255 caractères. Le nom doit être unique au sein de toutes les entrées de l’élément Extension d’un fichier de configuration. Si un nom existe en double, le serveur de rapports retourne une erreur.
Type Liste séparée par des virgules qui inclut l'espace de noms complet, ainsi que le nom de l'assembly.
Visible La valeur false indique que l’extension de remise ne doit pas être visible dans les interfaces utilisateur. Si l’attribut n’est pas inclus, la valeur par défaut est true.

Pour plus d’informations sur le fichier RSReportServer.config, consultez fichiers de configuration Reporting Services.

Déployer l’extension sur le serveur de rapports

Le serveur de rapports utilise des extensions de remise pour traiter et remettre des notifications ou des rapports. Vous devez déployer l'assembly d'extension de remise sur le serveur de rapports sous la forme d'un assembly privé. Vous devez également créer une entrée dans le fichier de configuration du serveur de rapports, à savoir dans le fichier dénommé RSReportServer.config.

Déployer un assembly d’extension de remise sur un serveur de rapports

  1. Copiez l'assembly depuis son emplacement vers le répertoire bin du serveur de rapports sur lequel l'extension de remise doit être utilisée. L’emplacement par défaut du répertoire bin du serveur de rapports est %ProgramFiles%\Microsoft SQL Server\MSRS13.\<InstanceName>\Reporting Services\ReportServer\bin.

    Important

    Si vous essayez de remplacer un assembly d'extension de remise existant, vous devez commencer par arrêter le service Report Server avant de copier l'assembly mis à jour. Redémarrez le service une fois l'assembly copié.

  2. Une fois le fichier correspondant à l'assembly copié, ouvrez le fichier RSReportServer.config. Le fichier RSReportServer.config se trouve dans le %ProgramFiles%\Microsoft SQL Server\MSRS13.\<InstanceName>\Reporting Services\ReportServer répertoire. Vous devez créer une entrée pour le fichier d'assembly d'extension de remise dans le fichier de configuration. Vous pouvez ouvrir le fichier de configuration à l’aide de Microsoft Visual Studio ou à l’aide d’un simple éditeur de texte, tel que le Bloc-notes.

  3. Localisez l’élément Delivery dans le fichier RSReportServer.config. Une entrée correspondant à votre nouvelle extension de remise doit être créée à l'emplacement suivant :

    <Extensions>  
       <Delivery>  
          <Your extension configuration information goes here>  
       </Delivery>  
    </Extensions>  
    
  4. Ajoutez une entrée pour votre extension de remise. Celle-ci doit comporter un élément Extension dont les valeurs Name et Type doivent être définies. Cette entrée peut se présenter comme suit :

    <Extension Name="My Delivery Extension Name" Type="CompanyName.ExtensionName.MyDeliveryExtensionClass, AssemblyName" />  
    

    La valeur définie pour Name correspond au nom unique de l’extension de remise. La valeur définie pour Type est une liste séparée par des virgules comportant une entrée pour l’espace de noms complet de la classe qui implémente l’interface IDeliveryExtension, suivie du nom de votre assembly (sans l’extension de fichier .dll). Par défaut, les extensions de remise sont visibles. Pour les masquer des interfaces utilisateur, comme le portail web, ajoutez un attribut Visible à l’élément Extension, et affectez-lui la valeur false.

  5. Enfin, vous devez définir un groupe de codes pour votre assembly personnalisé octroyant l’autorisation FullTrust à votre extension de remise. Pour ce faire, ajoutez le groupe de codes au fichier rssrvpolicy.config situé par défaut dans %ProgramFiles%\Microsoft SQL Server\MSRS13.\<InstanceName>\Reporting Services\ReportServer. Votre groupe de codes peut ressembler à l’exemple suivant :

    <CodeGroup class="UnionCodeGroup"  
       version="1"  
       PermissionSetName="FullTrust"  
       Name="MyExtensionCodeGroup"  
       Description="Code group for my delivery extension">  
          <IMembershipCondition class="UrlMembershipCondition"  
             version="1"  
             Url="C:\Program Files\Microsoft SQL Server\MSRS13.<InstanceName>\Reporting Services\ReportServer\bin\MyExtensionAssembly.dll"  
           />  
    </CodeGroup>  
    

    L'appartenance URL n'est qu'une des nombreuses conditions d'appartenance que vous pouvez sélectionner pour l'extension de remise. Pour plus d’informations sur la sécurité de l’accès au code dans SSRS, consultez Développement sécurisé (Reporting Services)

Vérifier le déploiement

Vous pouvez vérifier que votre extension de remise a été correctement déployée sur le serveur de rapports en utilisant la méthode ListExtensions du service Web. Vous pouvez également ouvrir le portail web et vérifier que votre extension est effectivement répertoriée dans la liste des extensions de remise disponibles pour un abonnement. Pour plus d’informations sur le portail web et les abonnements, consultez Abonnements et remise (Reporting Services).