Compartilhar via


Usando uma classe de notificação para uma extensão de entrega

A classe Notification está localizada no namespace Microsoft.ReportingServices.Interfaces e representa informações de assinatura que extensões de entrega usam para entregar relatórios. A classe Notification oferece algumas propriedades que podem ser usadas para renderizar os relatórios para entrega, determinar o status da notificação e definir dados de usuário.

A notificação é o objeto central de qualquer entrega

Processo de notificação de relatório

Quando um evento dispara que está associado a uma assinatura que usa a sua extensão de entrega personalizada, uma notificação com um objeto Report será criada. O objeto Report encapsula a funcionalidade necessária para a renderização de um determinado relatório para um formato de renderização suportado e contém propriedades específicas do relatório, como a URL para o relatório no servidor e o nome do relatório. Para obter mais informações sobre a classe Report, consulte Usando a classe Report para uma extensão de entrega.

Você passa o objeto Notification ao método Deliver de sua extensão de entrega. Seu método Deliver deve conter código específico para processar a notificação e entregar o relatório.

Para obter um exemplo de como usar a classe Notification, consulte SQL Server Reporting Services Product Samples.

Funcionalidade de repetição

O Reporting Services permite a você criar uma fila de repetição para notificações que não podem ser entregues imediatamente. Depois que o servidor de relatório invoca o método Deliver de uma extensão de entrega, a extensão de entrega poderá solicitar que o servidor de relatório tente entregar novamente em um momento determinado. Se isso acontecer, o servidor de relatório coloca a notificação em uma fila interna e tenta entregar novamente após um período de tempo específico. Os administradores podem configurar o número máximo de novas tentativas executadas pelo servidor de relatório e o período entre as novas tentativas na seção da extensão de entrega do arquivo RSReportServer.config usando o elemento MaxNumberOfRetries XML e o elemento PeriodBetweenRetries XML. As notificações são removidas da fila de repetição se a entrega for bem-sucedida mais tarde ou se o número máximo de novas tentativas for alcançado. Se a entrega falhar depois do número de máximo de novas tentativas, a notificação será descartada.