Partager via


Déploiement d’un assembly personnalisé

Pour déployer un assembly personnalisé dans SQL Server Reporting Services, placez l’assembly dans les dossiers d’application du Concepteur de rapports et du serveur de rapports. Par défaut, les assemblys personnalisés sont autorisés Execution dans Reporting Services. Pour accorder des privilèges d’assemblys personnalisés au-delà de l’autorisation d’exécution, vous devez modifier le fichier de configuration rssrvpolicy.config pour le serveur de rapports et le fichier de configuration rspreviewpolicy.config pour la fenêtre d’aperçu du Concepteur de rapports. Vous pouvez également installer votre assembly personnalisé dans le Global Assembly Cache (GAC).

Remarque

Il existe deux modes d’aperçu pour le Concepteur de rapports : l’onglet Aperçu et la fenêtre contextuelle d’aperçu qui est lancée lorsque votre projet de rapport est démarré en DebugLocal mode. L’onglet Aperçu exécute toutes les expressions de rapport à l’aide du FullTrust jeu d’autorisations et n’applique pas les paramètres de stratégie de sécurité. La fenêtre contextuelle d’aperçu est destinée à simuler la fonctionnalité du serveur de rapports et dispose donc d’un fichier de configuration de stratégie que vous ou un administrateur devez modifier pour utiliser des assemblys personnalisés dans le Concepteur de rapports. Cet aperçu contextuel verrouille également l’assembly personnalisé. Par conséquent, vous devez fermer la fenêtre d’aperçu pour modifier ou mettre à jour votre code d’assembly personnalisé.

Pour déployer un assembly personnalisé dans Reporting Services
  1. Copiez votre assembly personnalisé à partir de votre emplacement de build vers le dossier bin du serveur de rapports ou le dossier Concepteur de rapports. L’emplacement par défaut du dossier bin pour le serveur de rapports est %ProgramFiles%\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer\bin. L’emplacement par défaut du Concepteur de rapports est %ProgramFiles%\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies.

    Le placement de votre assembly personnalisé dans le dossier bin du serveur de rapports vous permet de publier des rapports qui référencent votre assembly personnalisé et de le placer dans le dossier Concepteur de rapports vous permet d’exécuter et de déboguer des rapports qui référencent votre assembly personnalisé dans le Concepteur de rapports.

    Si vous devez accorder des autorisations de code d’assembly personnalisées au-delà des autorisations d’exécution par défaut :

  2. Ouvrez le fichier de configuration approprié. L’emplacement par défaut de rssrvpolicy.config est %ProgramFiles%\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer. L’emplacement par défaut de rspreviewpolicy.config est %ProgramFiles%\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies.

  3. Ajoutez un groupe de codes pour votre assembly personnalisé. Pour plus d’informations, consultez Développement sécurisé (Reporting Services).

Mise à jour d’assemblys personnalisés

À un moment donné, vous devrez peut-être mettre à jour une version d’un assembly personnalisé actuellement référencé par plusieurs rapports publiés. Si cet assembly existe déjà dans le répertoire bin du serveur de rapports ou du Concepteur de rapports et que le numéro de version de l’assembly est incrémenté ou modifié d’une certaine manière, les rapports actuellement publiés ne fonctionnent plus correctement. Vous devez mettre à jour la version de l’assembly référencée dans l’élément de la CodeModules définition de rapport et republier les rapports. Si vous savez que vous allez fréquemment mettre à jour un assembly personnalisé et que vos rapports actuellement publiés doivent référencer le nouvel assembly, vous pouvez envisager d’utiliser le même numéro de version sur toutes les mises à jour d’un assembly particulier.

Si vous n’avez pas besoin de vos rapports actuellement publiés pour référencer la nouvelle version de l’assembly, vous pouvez déployer votre assembly personnalisé dans le Global Assembly Cache. Le Global Assembly Cache peut gérer plusieurs versions du même assembly, afin que vos rapports actuels puissent référencer la version précédente de votre assembly et vos rapports nouvellement publiés peuvent référencer l’assembly mis à jour. Une autre approche consisterait à définir la redirection de liaison du serveur de rapports pour forcer une redirection de toutes les demandes de l’ancien assembly vers le nouvel assembly. Vous devez modifier le fichier Web.config du serveur de rapports et le fichier ReportService.exe.config du serveur de rapports. L’entrée peut ressembler à ce qui suit :

<configuration>  
   <runtime>  
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">  
         <dependentAssembly>  
            <assemblyIdentity name="myAssembly"  
                              publicKeyToken="32ab4ba45e0a69a1"  
                              culture="neutral" />  
            <bindingRedirect oldVersion="1.0.0.0"  
                             newVersion="2.0.0.0"/>  
         </dependentAssembly>  
      </assemblyBinding>  
   </runtime>  
</configuration>  

Voir aussi

Utilisation d'assemblages personnalisés avec des rapports
Utilisation d’assemblys et du Global Assembly Cache