Condividi tramite


Distribuzione di un'estensione di recapito

Le estensioni per il recapito forniscono le informazioni di configurazione sotto forma di file di configurazione XML. Il file XML è conforme allo schema XML 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 aver scritto e compilato l'estensione per il recapito di Reporting Services in una libreria di Microsoft .NET Framework, è necessario copiare l'estensione nella directory appropriata e aggiungere una voce al file di configurazione di Reporting Services appropriato in modo che il server di report possa individuarlo.

Elemento extension Configuration-File

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

Nella tabella seguente vengono descritti gli attributi per l'elemento per le estensioni per il Extension 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 "FileShare del server di report" per l'estensione per il recapito della condivisione file. La lunghezza massima per l'attributo Name è di 255 caratteri. Il nome deve essere univoco tra tutte le voci all'interno 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 Un valore indica false che l'estensione per il recapito non deve essere visibile nelle interfacce utente. Se l'attributo non è incluso, il valore predefinito è true.

Per altre informazioni sul file di RSReportServer.config, vedere File di configurazione di Reporting Services.

Distribuzione dell'estensione nel server di report

Il server di report usa le estensioni per il recapito per l'elaborazione e il recapito di notifiche o report. È consigliabile distribuire l'assembly dell'estensione per il recapito nel server di report come assembly privato. È anche necessario creare una voce nel file di configurazione del server di report, RSReportServer.config.

Per distribuire un assembly di estensione di distribuzione in un server di report

  1. Copiare l'assembly dal percorso di gestione temporanea alla directory bin del server di report in cui si vuole usare l'estensione per il recapito. Il percorso predefinito della directory bin del server di report è %ProgramFiles%\Microsoft SQL Server\MSRS10_50.<InstanceName>\Reporting Services\ReportServer\bin.

    Importante

    Se si tenta di sovrascrivere un assembly di estensione per il recapito esistente, è necessario arrestare prima di copiare l'assembly aggiornato. Riavviare il servizio dopo la copia dell'assembly.

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

  3. Individuare l'elemento Delivery nel file RSReportServer.config. Una voce per l'estensione per il recapito appena creata deve essere effettuata 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 Extension elemento con valori per Name e Typee potrebbe essere simile al seguente:

    <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 (non inclusa l'estensione di file .dll). Per impostazione predefinita, le estensioni per il recapito sono visibili. Per nascondere un'estensione dalle interfacce utente, ad esempio Gestione report, aggiungere un Visible attributo all'elemento Extension e impostarlo su false.

  5. Aggiungere infine un gruppo di codice per l'assembly personalizzato che concede FullTrust l'autorizzazione per l'estensione per il recapito. A tale scopo, aggiungere il gruppo di codice al file di rssrvpolicy.config che si trova per impostazione predefinita in %ProgramFiles%\Microsoft SQL Server\MSRS10_50.<InstanceName>\Reporting Services\ReportServer. Il gruppo di codice potrebbe essere simile al seguente:

    <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 all'URL è solo una delle numerose condizioni di appartenenza che è possibile scegliere per l'estensione per il recapito. Per altre informazioni sulla sicurezza dell'accesso al codice in SSRS, vedere. Sviluppo sicuro (Reporting Services)

Distribuzione dell'estensione in Gestione report

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

Per distribuire un assembly di estensione per la distribuzione 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 è %ProgramFiles%\Microsoft SQL Server\MSRS10_50.<InstanceName>\Reporting Services\ReportManager\bin.

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

  3. Individuare l'elemento DeliveryUI nel file RSReportServer.config. Una voce per l'estensione per il recapito appena creata deve essere effettuata 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 Extension elemento con valori per Name e Type e potrebbe essere simile al seguente:

    <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 (non inclusa l'estensione di file .dll).

    Importante

    Il valore dell'attributo Name deve essere identico per le voci del 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 concede FullTrust l'autorizzazione per l'estensione per il recapito. A tale scopo, aggiungere il gruppo di codice al file di RSmgrpolicy.config che si trova per impostazione predefinita in C:\Programmi\Microsoft SQL Server\MSRS10_50.<InstanceName>\Reporting Services\ReportManager. Il gruppo di codice potrebbe essere simile al seguente:

    <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 all'URL è solo una delle numerose condizioni di appartenenza che è possibile scegliere per l'estensione per il recapito. Per altre informazioni sulla sicurezza dell'accesso al codice in SSRS, vedere Sviluppo sicuro (Reporting Services)

Verifica della distribuzione

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

Vedere anche

Implementazione di un'estensione per il recapito
Libreria di estensioni di Reporting Services