Implementar una extensión de representación

Después de haber escrito y compilado la extensión de representación de informes de Reporting Services en una biblioteca de .NET Framework, es necesario hacer que el servidor de informes y el Diseñador de informes la puedan reconocer. Para ello, copie la extensión en el directorio adecuado y agregue las entradas a los archivos de configuración de Reporting Services adecuados.

Elemento Extension de representación de archivos de configuración

Una vez compilada una extensión de representación en una .DLL, agregue una entrada al archivo rsreportserver.config. De forma predeterminada, la ubicación es %ProgramFiles%\Microsoft SQL Server\MSRS10_50.<nombreDeInstancia>\Reporting Services\ReportServer. El elemento primario es <Render>. Bajo el elemento Render hay un elemento Extension para cada extensión de representación. El elemento Extension contiene dos atributos, Name y Type.

En la tabla siguiente se describen los atributos para el elemento Extension correspondientes a las extensiones de representación:

Atributo

Descripción

Name

Nombre único de la extensión. La longitud máxima para el atributo Name es de 255 caracteres. El nombre debe ser único entre todas las entradas dentro del elemento Extensions del archivo de configuración. Si hay un nombre duplicado, el servidor de informes devuelve un error.

Type

Lista separada por comas que incluye el espacio de nombres completo junto con el nombre del ensamblado.

Visible

El valor false indica que la extensión de representación no debería estar visible en las interfaces de usuario. Si el atributo no está incluido, el valor predeterminado es true.

LogAllExecutionRequests

Un valor false indica que una entrada solo se registra para la primera ejecución de un informe en una sesión. Si el atributo no está incluido, el valor predeterminado es true.

Por ejemplo, este valor de configuración determina si se ha de registrar una entrada solo para la primera página representada en un informe (en el caso de false) o una entrada para cada página representada en el informe (en el caso de true).

Para obtener más información, vea Archivo de configuración RSReportServer.

Implementar la extensión para el servidor de informes

El servidor de informes utiliza las extensiones de representación para exportar los informes a otros formatos. Debería implementar su ensamblado de extensión de representación para el servidor de informes como un ensamblado privado. También tiene que realizar una entrada en el archivo de configuración del servidor de informes, rsreportserver.config.

Para implementar el ensamblado

  1. Copie el ensamblado de la ubicación provisional al directorio bin del servidor de informes en el que desea utilizar la extensión de representación. La ubicación predeterminada del directorio Bin del servidor de informes es %Archivos de programa%\Microsoft SQL Server\MSRS10_50.<nombreDeInstancia>\Reporting Services\ReportServer\Bin.

  2. Una vez copiado el archivo de ensamblado, abra el archivo rsreportserver.config. El archivo rsreportserver.config también se encuentra en el directorio bin del servidor de informes. Tiene que realizar una entrada en el archivo de configuración para el archivo de ensamblado de extensión. Puede abrir el archivo con Visual Studio o con un editor de texto simple.

    Para obtener más información, vea Archivo de configuración RSReportServer.

  3. Busque el elemento Render en el archivo Rsreportserver.config. En la ubicación siguiente se debería realizar una extensión creada recientemente:

    <Extensions>
       <Render>
          <extension configuration>
       </Render>
    </Extensions>
    
  4. Agregue una entrada para la extensión de representación. La entrada debería incluir un elemento que tenga valores para Name y Type, y podría parecerse a la siguiente:

    <Extension Name="My Rendering Extension Name" Type="CompanyName.ExtensionName.MyRenderingProvider, AssemblyName" />
    

    El valor de Name es el nombre único de la extensión de representación. El valor de Type es una lista separada por comas que incluye una entrada para el espacio de nombres completo de la implementación de IRenderingExtension, seguida del nombre del ensamblado (sin incluir la extensión de archivo .dll). De forma predeterminada, las extensiones de representación están visibles. Para ocultar una extensión de las interfaces de usuario, por ejemplo del Administrador de informes, agregue un atributo Visible al elemento Extension y establézcalo en false.

Comprobar la implementación

Puede comprobar si la extensión de representación se implementó correctamente en el servidor de informes utilizando el método ListExtensions(ExtensionTypeEnum) del servicio web. Puede abrir también el Administrador de informes y comprobar que la extensión está incluida en la lista de tipos de exportación disponibles para un informe.