Partager via


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 s'élève à 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 de 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, à savoir dans le fichier dénommé 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 %ProgramFiles%\Microsoft SQL Server\MSRS10_50.<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 %ProgramFiles%\Microsoft SQL Server\MSRS10_50.<InstanceName>\Reporting Services\ReportServer directory. 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 masquer ces extensions des interfaces utilisateur, telles que le Gestionnaires de rapports, et ne plus les afficher, ajoutez un attribut Visible à l'élément Extension, puis attribuez à cet élément 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, ajoutez le groupe de codes au fichier rssrvpolicy.config situé par défaut dans %ProgramFiles%\Microsoft SQL Server\MSRS10_50.<InstanceName>\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 de la corbeille du Gestionnaire de rapports est %ProgramFiles%\Microsoft SQL Server\MSRS10_50.<InstanceName>\Reporting Services\ReportManager\bin.

  2. Une fois le fichier correspondant à l'assembly copié, ouvrez le fichier RSReportServer.config. Le fichier RSReportServer.config se trouve dans %ProgramFiles%\Microsoft SQL Server\MSRS10_50.<InstanceName>\Reporting Services\ReportServer directory. 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, ajoutez le groupe de codes au fichier RSmgrpolicy.config situé par défaut dans C:\Program Files\Microsoft SQL Server\MSRS10_50.<InstanceName>\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é de l’accès au 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

Mise en œuvre d'une extension de remise
Bibliothèque d'extensions Reporting Services