Compartir a través de


Implementación de un ensamblado personalizado

Para implementar un ensamblado personalizado en SQL Server Reporting Services, coloque el ensamblado en las carpetas de aplicación del Diseñador de informes y el servidor de informes. De forma predeterminada, a los ensamblados personalizados se les concede Execution permiso en Reporting Services. Para conceder privilegios de ensamblados personalizados más allá del permiso Ejecutar, deberá editar el archivo de configuración de rssrvpolicy.config para el servidor de informes y el archivo de configuración de rspreviewpolicy.config para la ventana de vista previa del Diseñador de informes. Como alternativa, puede instalar el ensamblado personalizado en la caché global de ensamblados (GAC).

Nota:

Hay dos modos de vista previa para el Diseñador de informes: la pestaña Vista previa y la ventana de vista previa emergente que se inicia cuando se inicia el proyecto de informe en DebugLocal modo. La pestaña Vista previa ejecuta todas las expresiones de informe mediante el FullTrust conjunto de permisos y no aplica la configuración de directiva de seguridad. La ventana de vista previa emergente está pensada para simular la funcionalidad del servidor de informes y, por tanto, tiene un archivo de configuración de directiva que usted o un administrador deben modificar para usar ensamblados personalizados en el Diseñador de informes. Esta vista previa emergente también bloquea el ensamblado personalizado. Por lo tanto, debe cerrar la ventana de vista previa para modificar o actualizar el código de ensamblado personalizado.

Para implementar un ensamblado personalizado en Reporting Services
  1. Copie el ensamblado personalizado de la ubicación de compilación en la carpeta bin del servidor de informes o en la carpeta del Diseñador de informes. La ubicación predeterminada de la carpeta bin del servidor de informes es %ProgramFiles%\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer\bin. La ubicación predeterminada del Diseñador de informes es %ProgramFiles%\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies.

    Colocar el ensamblado personalizado en la carpeta bin del servidor de informes le permite publicar informes que hacen referencia al ensamblado personalizado y colocarlo en la carpeta diseñador de informes le permite ejecutar y depurar informes que hacen referencia al ensamblado personalizado en el Diseñador de informes.

    Si necesita conceder permisos de código de ensamblado personalizado más allá de los permisos de ejecución predeterminados:

  2. Abra el archivo de configuración adecuado. La ubicación predeterminada de rssrvpolicy.config es %ProgramFiles%\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer. La ubicación predeterminada de rspreviewpolicy.config es %ProgramFiles%\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies.

  3. Agregue un grupo de código para el ensamblado personalizado. Para obtener más información, vea Desarrollo seguro (Reporting Services) .

Actualización de ensamblados personalizados

En algún momento, es posible que tenga que actualizar una versión de un ensamblado personalizado al que se hace referencia actualmente en varios informes publicados. Si ese ensamblado ya existe en el directorio bin del servidor de informes o el Diseñador de informes y el número de versión del ensamblado se incrementa o cambia de alguna manera, los informes publicados actualmente ya no funcionarán correctamente. Deberá actualizar la versión del ensamblado al que se hace referencia en el elemento de la CodeModules definición del informe y volver a publicar los informes. Si sabe que con frecuencia actualizará un ensamblado personalizado y los informes publicados actualmente deben hacer referencia al nuevo ensamblado, es posible que desee considerar el uso del mismo número de versión en todas las actualizaciones de un ensamblado determinado.

Si no necesita los informes publicados actualmente para hacer referencia a la nueva versión del ensamblado, puede implementar el ensamblado personalizado en la caché global de ensamblados. La caché global de ensamblados puede mantener varias versiones del mismo ensamblado, de modo que los informes actuales puedan hacer referencia a la versión anterior del ensamblado y los informes recién publicados pueden hacer referencia al ensamblado actualizado. Otro enfoque sería establecer el redireccionamiento de enlace del servidor de informes para forzar una redirección de todas las solicitudes del ensamblado anterior al nuevo ensamblado. Tendría que modificar el archivo Web.config del servidor de informes y el archivo ReportService.exe.config del servidor de informes. La entrada podría ser similar a la siguiente:

<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>  

Véase también

Uso de ensamblados personalizados con informes
Trabajar con ensamblados y la caché global de ensamblados