Condividi tramite


Distribuzione di un'estensione per il recapito

Le estensioni per il recapito forniscono le informazioni di configurazione in un file di configurazione XML. Il file XML è conforme all'elemento XML Schema definito per le estensioni per il recapito. Le estensioni per il recapito forniscono l'infrastruttura per l'impostazione e la modifica del file di configurazione.

Se un'estensione per il recapito viene sostituita o aggiornata, tutte le sottoscrizioni che fanno riferimento all'estensione per il recapito rimangono valide.

Dopo avere scritto e compilato l'estensione per il recapito Reporting Services in una libreria Microsoft .NET Framework, è necessario copiarla nella directory appropriata e aggiungere una voce al file di configurazione Reporting Services appropriato, in modo che il server di report possa individuarla.

Elemento Extension del file di configurazione

Le estensioni per il recapito distribuite nel server di report devono essere immesse come elementi Extension nel file di configurazione. Il file di configurazione per il server di report è RSReportServer.config.

Nella tabella riportata di seguito vengono descritti gli attributi dell'elemento Extension per le estensioni per il recapito.

Attributo

Descrizione

Name

Nome univoco per l'estensione, ad esempio "Posta elettronica server di report" per l'estensione per il recapito tramite posta elettronica o "Condivisione file server di report" per l'estensione per il recapito tramite condivisione. La lunghezza massima consentita per l'attributo Name è di 255 caratteri. Il nome deve essere univoco all'interno di tutte le voci dell'elemento Extension di un file di configurazione. Se è presente un nome duplicato, il server di report restituisce un errore.

Type

Elenco delimitato da virgole che include lo spazio dei nomi completo insieme al nome dell'assembly.

Visible

Il valore false indica che l'estensione per il recapito non deve essere visibile nelle interfacce utente. Se l'attributo non è incluso, il valore predefinito è true.

Per ulteriori informazioni sul file RSReportServer.config, vedere File di configurazione (Reporting Services).

Distribuzione dell'estensione nel server di report

Il server di report utilizza estensioni per il recapito per l'elaborazione e il recapito di notifiche o report. È necessario distribuire l'assembly di estensioni per il recapito in un server di report come assembly privato. È inoltre necessario immettere una voce nel file di configurazione del server di report, RSReportServer.config.

Per distribuire un assembly di estensioni per il recapito in un server di report

  1. Copiare l'assembly dal percorso di gestione temporanea nella directory bin del server di report in cui si desidera utilizzare l'estensione per il recapito. Il percorso predefinito della directory bin del server di report è %Programmi%\Microsoft SQL Server\MSRS10_50.<NomeIstanza>\Reporting Services\ReportServer\bin.

    Nota importanteImportante

    Se si tenta di sovrascrivere un assembly di estensioni per il recapito esistente, è necessario arrestare il servizio del server di report prima di copiare l'assembly aggiornato. Riavviare il servizio dopo il completamento della copia dell'assembly.

  2. Dopo aver copiato il file di assembly, aprire il file RSReportServer.config. Il file RSReportServer.config si trova nella directory %Programmi%\Microsoft SQL Server\MSRS10_50.<NomeIstanza>\Reporting Services\ReportServer. È necessario immettere una voce nel file di configurazione per il file di assembly di estensioni per il recapito. È possibile aprire il file di configurazione con Microsoft Visual Studio o con un semplice editor di testo, ad esempio Blocco note.

  3. Individuare l'elemento Delivery nel file RSReportServer.config. È necessario immettere una voce per l'estensione per il recapito appena creata nel percorso seguente:

    <Extensions>
       <Delivery>
          <Your extension configuration information goes here>
       </Delivery>
    </Extensions>
    
  4. Aggiungere una voce per l'estensione per il recapito. La voce deve includere un elemento Extension con valori per Name e Type e può essere simile a quanto riportato di seguito:

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

    Il valore per Name è il nome univoco dell'estensione per il recapito. Il valore per Type è un elenco delimitato da virgole che include una voce per lo spazio dei nomi completo della classe che implementa l'interfaccia IDeliveryExtension, seguita dal nome dell'assembly, senza l'estensione dll. Per impostazione predefinita, le estensioni per il recapito sono visibili. Per nascondere un'estensione dalle interfacce utente, ad esempio Gestione report, aggiungere un attributo Visible all'elemento Extension e impostarlo su false.

  5. Aggiungere infine un gruppo di codice per l'assembly personalizzato che conceda l'autorizzazione FullTrust per l'estensione per il recapito. A questo scopo, aggiungere il gruppo di codice al file rssrvpolicy.config che per impostazione predefinita si trova in %Programmi%\Microsoft SQL Server\MSRS10_50.<NomeIstanza>\Reporting Services\ReportServer. Il gruppo di codice può essere simile a quanto riportato di seguito:

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

    L'appartenenza URL è solo una delle numerose condizioni di appartenenza che è possibile scegliere per l'estensione per il recapito. Per ulteriori informazioni sulla sicurezza da accesso di codice in SSRS, vedere Sviluppo protetto (Reporting Services).

Distribuzione dell'estensione in Gestione report

Se l'estensione per il recapito implementa l'interfaccia ISubscriptionBaseUIUserControl, può essere utilizzata con la pagina di sottoscrizione di Gestione report. Per rendere disponibile l'interfaccia utente di sottoscrizione, è necessario distribuire l'estensione in Gestione report.

Per distribuire un assembly di estensioni per il recapito in Gestione report

  1. Copiare l'assembly dal percorso di gestione temporanea nella directory bin di Gestione report. Il percorso predefinito della directory bin di Gestione report è %Programmi%\Microsoft SQL Server\MSRS10_50.<NomeIstanza>\Reporting Services\ReportManager\bin.

  2. Dopo aver copiato il file di assembly, aprire il file RSReportServer.config. Il file RSReportServer.config si trova nella directory %Programmi%\Microsoft SQL Server\MSRS10_50.<NomeIstanza>\Reporting Services\ReportServer. È necessario immettere una voce nel file di configurazione per il file di assembly di estensioni per il recapito. È possibile aprire il file di configurazione in Visual Studio .NET o in un semplice editor di testo, ad esempio Blocco note.

  3. Individuare l'elemento DeliveryUI nel file RSReportServer.config. È necessario immettere una voce per l'estensione per il recapito appena creata nel percorso seguente:

    <Extensions>
       <DeliveryUI>
          <Your extension configuration information goes here>
       </DeliveryUI>
    </Extensions>
    
  4. Aggiungere una voce per l'estensione per il recapito. La voce deve includere un elemento Extension con valori per Name e Type e deve essere simile a quanto riportato di seguito:

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

    Il valore per Name è il nome univoco dell'estensione per il recapito. Il valore per Type è un elenco delimitato da virgole che include una voce per lo spazio dei nomi completo della classe che implementa l'interfaccia ISubscriptionBaseUIUserControl, seguita dal nome dell'assembly, senza l'estensione dll.

    Nota importanteImportante

    Il valore dell'attributo Name deve essere identico per le voci dei file di configurazione del server di report e di Gestione report. Se non sono identici, la configurazione del server non è valida.

    Aggiungere infine un gruppo di codice per l'assembly personalizzato che conceda l'autorizzazione FullTrust per l'estensione per il recapito. A questo scopo, aggiungere il gruppo di codice al file RSmgrpolicy.config che per impostazione predefinita si trova in C:\Programmi\Microsoft SQL Server\MSRS10_50.<NomeIstanza>\Reporting Services\ReportManager. Il gruppo di codice può essere simile a quanto riportato di seguito:

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

    L'appartenenza URL è solo una delle numerose condizioni di appartenenza che è possibile scegliere per l'estensione per il recapito. Per ulteriori informazioni sulla sicurezza da accesso di codice in SSRS, vedere Sviluppo protetto (Reporting Services).

Verifica della distribuzione

È possibile verificare se l'estensione per il recapito è stata distribuita correttamente nel server di report tramite il metodo ListExtensions del servizio Web. È inoltre possibile aprire Gestione report e verificare che l'estensione sia inclusa nell'elenco delle estensioni per il recapito disponibili per una sottoscrizione. Per ulteriori informazioni su Gestione report e sulle sottoscrizioni, vedere Sottoscrizioni e recapito (Reporting Services).