Déploiement d'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 la copier dans le répertoire approprié et ajouter une entrée au fichier de configuration Reporting Services approprié afin que le serveur de rapports puisse la trouver.

Élément Extension du 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

Name

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 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 cet attribut n'est pas défini, la valeur par défaut est true.

Pour plus d'informations sur le fichier RSReportServer.config, consultez Fichiers de configuration (Reporting Services).

Déploiement de 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 (RSReportServer.config.)

Pour 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 le suivant : %ProgramFiles%\Microsoft SQL Server\MSRS10_50.<Nom de l'instance>\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 est situé dans le répertoire %ProgramFiles%\Microsoft SQL Server\MSRS10_50.<Nom de l'instance>\Reporting Services\ReportServer. 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 attributs Name et Type doivent être définis. 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 Gestionnaires de rapports, ajoutez un attribut Visible à l'élément Extension et assignez-lui la valeur false.

  5. Enfin, ajoutez une groupe de codes pour votre assembly personnalisé qui octroie l'autorisation FullTrust à votre extension de remise. Pour ce faire, vous devez ajouter le groupe de codes au fichier rssrvpolicy.config qui se trouve par défaut dans le répertoire suivant : %ProgramFiles%\Microsoft SQL Server\MSRS10_50.<Nom de l'instance>\Reporting Services\ReportServer. Ce groupe de codes peut se présenter comme suit :

    <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\MSRS10_50.<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é d'accès du code dans SSRS, consultez Développement sécurisé (Reporting Services).  

Déploiement de l'extension dans le Gestionnaire de rapports

Si votre extension de remise implémente l'interface ISubscriptionBaseUIUserControl, votre extension de remise peut être utilisée avec la page d'abonnement du Gestionnaire de rapports. Pour que l'interface utilisateur d'abonnement soit disponible, vous devez déployer votre extension dans le Gestionnaire de rapports.

Pour déployer un assembly d'extension de remise dans le Gestionnaire de rapports

  1. Copiez l'assembly depuis son emplacement vers le répertoire bin du Gestionnaire de rapports. L'emplacement par défaut du répertoire bin du gestionnaire de rapports est le suivant : %ProgramFiles%\Microsoft SQL Server\MSRS10_50.<Nom de l'instance>\Reporting Services\ReportManager\bin.

  2. Une fois le fichier correspondant à l'assembly copié, ouvrez le fichier RSReportServer.config. Le fichier RSReportServer.config est situé dans le répertoire %ProgramFiles%\Microsoft SQL Server\MSRS10_50.<Nom de l'instance>\Reporting Services\ReportServer. 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 dans Visual Studio .NET ou simplement à l'aide d'un éditeur de texte, tel que le Bloc-notes.

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

    <Extensions>
       <DeliveryUI>
          <Your extension configuration information goes here>
       </DeliveryUI>
    </Extensions>
    
  4. Ajoutez une entrée pour votre extension de remise. Cette entrée 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.MyDeliveryUIExtensionClass, 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 ISubscriptionBaseUIUserControl, suivie du nom de votre assembly (sans l'extension de fichier .dll).

    Important

    La valeur de l'attribut Name doit être identique pour les entrées du fichier de configuration du serveur de rapports et du Gestionnaire de rapports. Si ces valeurs ne sont pas identiques, la configuration de votre serveur n'est pas valide.

    Enfin, ajoutez une groupe de codes pour votre assembly personnalisé qui octroie l'autorisation FullTrust à votre extension de remise. Pour ce faire, vous devez ajouter le groupe de codes au fichier RSmgrpolicy.config qui se trouve par défaut dans le répertoire suivant : C:\Program Files\Microsoft SQL Server\MSRS10_50.<Nom de l'instance>\Reporting Services\ReportManager. Ce groupe de codes peut se présenter comme suit :

    <CodeGroup class="UnionCodeGroup"
       version="1"
       PermissionSetName="FullTrust"
       Name="MyExtensionCodeGroup"
       Description="Code group for my delivery UI extension">
          <IMembershipCondition class="UrlMembershipCondition"
             version="1"
             Url="C:\Program Files\Microsoft SQL Server\MSRS10_50.<InstanceName>\Reporting Services\ReportManager\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é d'accès du code dans SSRS, consultez Développement sécurisé (Reporting Services).  

Vérification du 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 Gestionnaire de rapports 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 Gestionnaire de rapports et les abonnements, consultez Abonnements et remise (Reporting Services).

Voir aussi

Référence

Bibliothèque d'extensions Reporting Services

Autres ressources

Implémentation d'une extension de remise