Compartir a través de


Implementación de una extensión de entrega

Las extensiones de entrega proporcionan su información de configuración en forma de archivo de configuración XML. El archivo XML se ajusta al esquema XML definido para las extensiones de entrega. Las extensiones de entrega proporcionan infraestructura para establecer y modificar el archivo de configuración.

Si se reemplaza o actualiza una extensión de entrega, todas las suscripciones que hacen referencia a la extensión de entrega siguen siendo válidas.

Después de escribir y compilar la extensión de entrega de Reporting Services en una biblioteca de Microsoft .NET Framework, debe copiar la extensión en el directorio adecuado y agregar una entrada al archivo de configuración de Reporting Services adecuado para que el servidor de informes pueda encontrarlo.

Elemento extension de Configuration-File

Las extensiones de entrega que implemente en el servidor de informes deben escribirse como Extension elementos en el archivo de configuración. El archivo de configuración del servidor de informes es RSReportServer.config.

En la tabla siguiente se describen los atributos del elemento para las Extension extensiones de entrega.

Atributo Descripción
Name Nombre único de la extensión (por ejemplo, "Correo electrónico del servidor de informes" para la extensión de entrega de correo electrónico o "Recurso compartido de archivos del servidor de informes" para la extensión de entrega del recurso compartido de archivos). La longitud máxima del Name atributo es de 255 caracteres. El nombre debe ser único entre todas las entradas del Extension elemento de un 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 Un valor de indica que la extensión de false entrega no debe estar visible en las interfaces de usuario. Si el atributo no está incluido, el valor predeterminado es true.

Para obtener más información sobre el archivo RSReportServer.config, vea Archivos de configuración de Reporting Services.

Implementación de la extensión en el servidor de informes

El servidor de informes usa extensiones de entrega para procesar y entregar notificaciones o informes. Debe implementar el ensamblado de extensión de entrega en el servidor de informes como un ensamblado privado. También debe realizar una entrada en el archivo de configuración del servidor de informes, RSReportServer.config.

Para implementar un ensamblado de extensión de entrega en un servidor de informes

  1. Copie el ensamblado de la ubicación de almacenamiento provisional en el directorio bin del servidor de informes en el que desea usar la extensión de entrega. La ubicación predeterminada del directorio bin del servidor de informes es %ProgramFiles%\Microsoft SQL Server\MSRS10_50.<InstanceName>\Reporting Services\ReportServer\bin.

    Importante

    Si intenta sobrescribir un ensamblado de extensión de entrega existente, primero debe detener el servicio servidor de informes antes de copiar el ensamblado actualizado. Reinicie el servicio después de que el ensamblado se realice mediante la copia.

  2. Una vez copiado el archivo de ensamblado, abra el archivo RSReportServer.config. El archivo RSReportServer.config se encuentra en el %ProgramFiles%\Microsoft SQL Server\MSRS10_50.<NombreDeInstancia>\Reporting Services\Directorio ReportServer. Debe realizar una entrada en el archivo de configuración del archivo de ensamblado de extensión de entrega. Puede abrir el archivo de configuración con Microsoft Visual Studio o un editor de texto simple, como el Bloc de notas.

  3. Busque el Delivery elemento en el archivo RSReportServer.config. Se debe realizar una entrada para la extensión de entrega recién creada en la siguiente ubicación:

    <Extensions>  
       <Delivery>  
          <Your extension configuration information goes here>  
       </Delivery>  
    </Extensions>  
    
  4. Agregue una entrada para la extensión de entrega. La entrada debe incluir un Extension elemento con valores para Name y Type, y podría tener el siguiente aspecto:

    <Extension Name="My Delivery Extension Name" Type="CompanyName.ExtensionName.MyDeliveryExtensionClass, AssemblyName" />  
    

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

  5. Por último, agregue un grupo de código para el ensamblado personalizado que conceda FullTrust permiso para la extensión de entrega. Para ello, agregue el grupo de código al archivo de rssrvpolicy.config ubicado de forma predeterminada en %ProgramFiles%\Microsoft SQL Server\MSRS10_50.<InstanceName>\Reporting Services\ReportServer. El grupo de código podría ser similar al siguiente:

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

    La pertenencia a direcciones URL es solo una de las muchas condiciones de pertenencia que puede elegir para la extensión de entrega. Para obtener más información sobre la seguridad de acceso al código en SSRS, consulte. Desarrollo seguro (Reporting Services)

Implementación de la extensión en el Administrador de informes

Si la extensión de entrega implementa la ISubscriptionBaseUIUserControl interfaz , la extensión de entrega se puede usar con la página Suscripción del Administrador de informes. Para que la interfaz de usuario de la suscripción esté disponible, debe implementar la extensión en el Administrador de informes.

Para implementar un ensamblado de extensión de entrega en el Administrador de informes

  1. Copie el ensamblado de la ubicación de almacenamiento provisional en el directorio bin del Administrador de informes. La ubicación predeterminada del directorio bin del Administrador de informes es %ProgramFiles%\Microsoft SQL Server\MSRS10_50.<InstanceName>\Reporting Services\ReportManager\bin.

  2. Una vez copiado el archivo de ensamblado, abra el archivo RSReportServer.config. El archivo RSReportServer.config se encuentra en el %ProgramFiles%\Microsoft SQL Server\MSRS10_50.<NombreDeInstancia>\Reporting Services\Directorio ReportServer. Debe realizar una entrada en el archivo de configuración del archivo de ensamblado de extensión de entrega. Puede abrir el archivo de configuración con Visual Studio .NET o un editor de texto simple, como el Bloc de notas.

  3. Busque el DeliveryUI elemento en el archivo RSReportServer.config. Se debe realizar una entrada para la extensión de entrega recién creada en la siguiente ubicación:

    <Extensions>  
       <DeliveryUI>  
          <Your extension configuration information goes here>  
       </DeliveryUI>  
    </Extensions>  
    
  4. Agregue una entrada para la extensión de entrega. La entrada debe incluir un Extension elemento con valores para Name y Type podría tener un aspecto similar al siguiente:

    <Extension Name="My Delivery Extension Name" Type="CompanyName.ExtensionName.MyDeliveryUIExtensionClass, AssemblyName" />  
    

    El valor de Name es el nombre único de la extensión de entrega. El valor de Type es una lista separada por comas que incluye una entrada para el espacio de nombres completo de la clase que implementa la ISubscriptionBaseUIUserControl interfaz, seguido del nombre del ensamblado (sin incluir la extensión de archivo .dll).

    Importante

    El valor del Name atributo debe ser idéntico para las entradas del archivo de configuración del Servidor de informes y del Administrador de informes. Si no son idénticos, la configuración del servidor no es válida.

    Por último, agregue un grupo de código para el ensamblado personalizado que conceda FullTrust permiso para la extensión de entrega. Para ello, agregue el grupo de código al archivo de RSmgrpolicy.config ubicado de forma predeterminada en C:\Archivos de programa\Microsoft SQL Server\MSRS10_50.<InstanceName>\Reporting Services\ReportManager. El grupo de código podría ser similar al siguiente:

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

    La pertenencia a direcciones URL es solo una de las muchas condiciones de pertenencia que puede elegir para la extensión de entrega. Para obtener más información sobre la seguridad de acceso al código en SSRS, consulte Desarrollo seguro (Reporting Services)

Comprobación de la implementación

Puede comprobar si la extensión de entrega se implementó correctamente en el servidor de informes mediante el método de servicio ListExtensions web. También puede abrir el Administrador de informes y comprobar que la extensión está incluida en la lista de extensiones de entrega disponibles para una suscripción. Para obtener más información sobre el Administrador de informes y las suscripciones, consulte Suscripciones y entrega (Reporting Services).

Véase también

Implementación de una extensión de entrega
Biblioteca de extensiones de Reporting Services