Implementando a interface IDeliveryExtension para uma extensão de entrega

A sua classe de extensão de entrega é usada para entregar notificações de relatório a usuários com base no conteúdo das notificações. A classe de extensão de entrega também oferece infra-estrutura para validar configurações de usuário passadas à extensão de entrega. Além disso, a sua classe de extensão de entrega deve conter propriedades específicas que os clientes poderão usar para obter informações sobre o nome da extensão, as configurações suportadas pela extensão e os formatos disponíveis para a extensão de entrega.

A interface IDeliveryExtension permite a validação de dados de usuário como também de clientes para aprender sobre as configurações de entrega exigidas

Processo de interface IDeliveryExtension

Para criar uma classe de extensão de entrega, implemente IDeliveryExtension e IExtension. A interface IDeliveryExtension permite que a sua extensão de entrega entregue notificações de relatório usando o método Deliver e valide configurações de extensão de entrada usando o método ValidateUserData. A interface IExtension permite que você habilite a sua extensão de entrega para implementar um nome de extensão localizado e para processar informações de configuração específicas da extensão armazenadas no arquivo de configuração do SQL Server. Ao implementar IExtension, a sua extensão de entrega conterá a propriedade LocalizedName. É altamente recomendável que as extensões de entrega do SSRS dêem suporte à propriedade LocalizedName, para que usuários encontrem um nome familiar para a extensão em uma interface do usuário, como Gerenciador de Relatórios.

A sua extensão de entrega também deve implementar a propriedade ExtensionSettings da interface IDeliveryExtension. O servidor de relatório usa o valor retornado pela propriedade ExtensionSettings para avaliar as configurações exigidas por uma extensão de entrega. Os clientes que interagem com extensões de entrega usam o método GetExtensionSettings do serviço Web Servidor de Relatório para retornar uma lista de configurações para a extensão de entrega.

Você também pode usar a sua classe de extensão de entrega para recuperar e processar dados de configuração personalizados armazenados no arquivo RSReportServer.config. Para obter mais informações sobre como processar dados de configuração personalizados, consulte o método SetConfiguration.

Para obter um exemplo da implementação da classe IDeliveryExtension, consulte SQL Server Reporting Services Product Samples (em inglês).