Implantando uma extensão de renderização

Depois de ter escrito e compilado a sua extensão de renderização de relatório do Reporting Services para uma biblioteca do .NET Framework, será necessário torná-la descobrível pelo servidor de relatório e pelo Designer de Relatórios. Para fazer isso, copie a extensão para o diretório apropriado e adicione entradas para os arquivos de configuração Reporting Services apropriados.

Elemento de extensão de renderização de arquivo de configuração

Quando uma extensão de renderização foi compilada em um .DLL, você adiciona uma entrada no arquivo rsreportserver.config. Por padrão, a localização é em %Arquivos de Programas%\Microsoft SQL Server\MSRS10_50.<nome_da_instância>\Reporting Services\ReportServer. O elemento pai é <Render>. Sob o elemento Render, existe um elemento Extension para cada extensão de renderização. O elemento Extension contém dois atributos, Name e Type.

A tabela a seguir descreve os atributos para o elemento Extension para as extensões de renderização:

Atributo

Descrição

Nome

Um nome exclusivo para a extensão. O tamanho máximo do atributo Name é de 255 caracteres. O nome deve ser exclusivo entre todas as entradas do elemento Extension de um arquivo de configuração. Se um nome duplicado estiver presente, o servidor de relatório retornará um erro.

Type

Uma lista separada por vírgulas que inclui o namespace totalmente qualificado junto com o nome do assembly.

Visível

Um valor false indica que a extensão de renderização não deve ser visível nas interfaces do usuário. Se o atributo não for incluído, o valor padrão será true.

LogAllExecutionRequests

Um valor de false indica que uma entrada está registrada apenas para a primeira execução do relatório em uma sessão. Se o atributo não for incluído, o valor padrão será true.

Esta configuração determina, por exemplo, se é preciso registrar uma entrada apenas para a primeira página renderizada de um relatório (quando false) ou uma entrada para cada página renderizada do relatório (quando true).

Para obter mais informações, consulte Arquivo de configuração RSReportServer.

Implantando a extensão para o servidor de relatório

O servidor de relatório usa extensões de renderização para exportar relatórios para outros formatos. Implante o seu assembly de extensão de renderização para o servidor de relatório como um assembly privado. Também será preciso criar uma entrada no arquivo de configuração do servidor de relatório, rsreportserver.config.

Para implantar o assembly

  1. Copie o assembly do local de preparação para o diretório bin do servidor de relatório no qual você deseja usar a extensão de renderização. O local padrão do diretório Bin do servidor de relatório é %ProgramFiles%\Microsoft SQL Server\MSRS10_50.<Nome_da_instância>\Reporting Services\ReportServer\Bin.

  2. Depois da cópia do arquivo de assembly, abra o arquivo rsreportserver.config. O arquivo rsreportserver.config também está localizado no diretório bin do servidor de relatório. Você precisa criar uma entrada no arquivo de configuração para o seu arquivo de assembly de extensão. Abra o arquivo de configuração com o Visual Studio ou com um editor de texto simples.

    Para obter mais informações, consulte Arquivo de configuração RSReportServer.

  3. Localize o elemento Render no arquivo Rsreportserver.config. Uma entrada para a sua extensão recém-criada deve ser inserida no seguinte local:

    <Extensions>
       <Render>
          <extension configuration>
       </Render>
    </Extensions>
    
  4. Adicione uma entrada para sua extensão de renderização. A sua entrada deve incluir um elemento que possui valores para Name e Type e poderia ser assim:

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

    O valor de Name é o nome exclusivo da extensão de renderização. O valor de Type é uma lista separada por vírgulas que inclui uma entrada para o namespace totalmente qualificado da sua implementação IRenderingExtension, seguida pelo nome do seu assembly (não incluindo a extensão de arquivo .dll). Por padrão, as extensões de renderização ficam visíveis. Para ocultar uma extensão de interfaces do usuário, como o Gerenciador de Relatórios, adicione um atributo Visible ao elemento Extension e defina-o como false.

Verificando a implantação

Você pode verificar se sua extensão de renderização foi implantada com êxito no servidor de relatório usando o método ListExtensions(ExtensionTypeEnum) do serviço Web. Você também pode abrir o Gerenciador de Relatórios e verificar se a sua extensão foi incluída na lista de tipos de exportação disponíveis para um relatório.