Bereitstellen von Übermittlungserweiterungen

Übermittlungserweiterungen geben ihre Konfigurationsinformationen in Form einer XML-Konfigurationsdatei an. Die XML-Datei entspricht dem für Übermittlungserweiterungen definierten XML-Schema. Übermittlungserweiterungen verfügen über eine Infrastruktur zum Einstellen und Ändern der Konfigurationsdatei.

Wenn eine Übermittlungserweiterung ersetzt oder aktualisiert wird, bleiben alle Abonnements, die auf die Übermittlungserweiterung verweisen, gültig.

Nachdem Sie die Reporting Services Übermittlungserweiterung geschrieben und in eine Microsoft.NET Framework-Bibliothek kompiliert haben, müssen Sie die Erweiterung in das entsprechende Verzeichnis kopieren und einen Eintrag in der entsprechenden Reporting Services-Konfigurationsdatei vornehmen, damit sie vom Berichtsserver gefunden werden kann.

Extension-Element für die Konfigurationsdatei

Übermittlungserweiterungen, die Sie für den Berichtsserver bereitstellen, müssen in der Konfigurationsdatei als Extension-Elemente hinzugefügt werden. Die Konfigurationsdatei für den Berichtsserver heißt RSReportServer.config.

In der folgenden Tabelle werden die Attribute für das Extension-Element für Übermittlungserweiterungen beschrieben.

Attribute

Beschreibung

Name

Ein eindeutiger Name für die Erweiterung (z. B. "Berichtsserver-E-Mail" für eine E-Mail-Übermittlungserweiterung oder "Berichtsserver-Dateifreigabe" für eine Dateifreigabe-Übermittlungserweiterung). Die maximale Länge für das Name-Attribut beträgt 255 Zeichen. Der Name muss für sämtliche Einträge im Extension-Element einer Konfigurationsdatei eindeutig sein. Wenn ein Name doppelt vorhanden ist, gibt der Berichtsserver einen Fehler zurück.

Type

Eine durch Trennzeichen getrennte Liste, die den vollqualifizierten Namespace und den Namen der Assembly enthält

Visible

Der Wert false gibt an, dass die Übermittlungserweiterung auf Benutzeroberflächen nicht sichtbar sein soll. Wenn das Attribut nicht enthalten ist, ist true der Standardwert.

Weitere Informationen zur Datei RSReportServer.config finden Sie unter Konfigurationsdateien (Reporting Services).

Bereitstellen der Erweiterung auf dem Berichtsserver

Der Berichtsserver verwendet Übermittlungserweiterungen zur Verarbeitung und Übermittlung von Benachrichtigungen oder Berichten. Sie sollten die Assembly für Übermittlungserweiterungen auf dem Berichtsserver als private Assembly bereitstellen. Sie müssen auch einen Eintrag in der Konfigurationsdatei des Berichtsservers RSReportServer.config vornehmen.

So stellen Sie eine Assembly für Übermittlungserweiterungen auf einem Berichtsserver bereit

  1. Kopieren Sie die Assembly aus dem Bereitstellungsverzeichnis in das BIN-Verzeichnis des Berichtsservers, auf dem Sie die Übermittlungserweiterung verwenden möchten. Das Standardverzeichnis des Berichtsserver-BIN-Verzeichnisses lautet C:\Programme\Microsoft SQL Server\MSRS10.<InstanceName>\Reporting Services\ReportServer\bin.

    Wichtiger HinweisWichtig

    Wenn Sie versuchen, eine vorhandene Assembly für Übermittlungserweiterungen zu überschreiben, müssen Sie zuerst den Berichtsserverdienst anhalten, bevor Sie die aktualisierte Assembly kopieren können. Starten Sie den Dienst neu, nachdem die Assembly kopiert wurde.

  2. Nachdem die Assemblydatei kopiert wurde, öffnen Sie die Datei RSReportServer.config. Die Datei RSReportServer.config befindet sich im Verzeichnis "ReportServer". Sie müssen einen Eintrag in der Konfigurationsdatei für die Datei der Übermittlungserweiterungsassembly vornehmen. Sie können die Konfigurationsdatei in MicrosoftVisual Studio oder in einem einfachen Text-Editor wie dem Microsoft-Editor öffnen.

  3. Suchen Sie das Delivery-Element in der Datei RSReportServer.config. In folgendem Verzeichnis muss ein Eintrag für die neu erstellte Übermittlungserweiterung erstellt werden:

    <Extensions>
       <Delivery>
          <Your extension configuration information goes here>
       </Delivery>
    </Extensions>
    
  4. Fügen Sie einen Eintrag für die Übermittlungserweiterung hinzu. Der Eintrag sollte ein Extension-Element mit den Werten für Name und Type enthalten und kann folgendermaßen aussehen:

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

    Der Wert für Name ist der eindeutige Name der Übermittlungserweiterung. Der Wert für Type ist eine durch Trennzeichen getrennte Liste, die einen Eintrag für den vollqualifizierten Namespace der Klasse enthält, die die Schnittstelle IDeliveryExtension implementiert, gefolgt vom Namen der Assembly (ohne die Dateierweiterung .dll). Übermittlungserweiterungen sind standardmäßig sichtbar. Um eine Erweiterung in Benutzeroberflächen wie dem Berichts-Manager auszublenden, fügen Sie das Attribut Visible zum Extension-Element hinzu und setzen es auf false.

  5. Zum Schluss müssen Sie eine Codegruppe für die benutzerdefinierte Assembly hinzufügen, die die Berechtigung FullTrust für die Übermittlungserweiterung erteilt. Hierzu fügen Sie die Codegruppe zur Datei rssrvpolicy.config hinzu, die sich standardmäßig in C:\Programme\Microsoft SQL Server\MSRS10.<InstanceName>\Reporting Services\ReportServer\bin befindet. Die Codegruppe kann folgendermaßen aussehen:

    <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.<InstanceName>\Reporting Services\ReportServer\bin\MyExtensionAssembly.dll"
           />
    </CodeGroup>
    

    Die URL-Mitgliedschaft ist eine der vielen Mitgliedschaftsbedingungen, die Sie für die Übermittlungserweiterung auswählen können. Weitere Informationen zur Codezugriffssicherheit in SSRS finden Sie unter Sichere Entwicklung (Reporting Services).

Bereitstellen der Erweiterung auf dem Berichts-Manager

Wenn die Übermittlungserweiterung die Schnittstelle ISubscriptionBaseUIUserControl implementiert, kann die Übermittlungserweiterung mit der Seite "Berichtabonnement" verwendet werden. Um die Benutzeroberfläche des Abonnements verfügbar zu machen, müssen Sie die Erweiterung im Berichts-Manager bereitstellen.

So stellen Sie eine Assembly für Übermittlungserweiterungen im Berichts-Manager bereit

  1. Kopieren Sie die Assembly aus dem Bereitstellungsverzeichnis in das BIN-Verzeichnis des Berichts-Managers. Das Standardverzeichnis des Berichts-Manager-BIN-Verzeichnisses lautet C:\Programme\Microsoft SQL Server\MSRS10.<InstanceName>\Reporting Services\ReportManager\bin.

  2. Nachdem die Assemblydatei kopiert wurde, öffnen Sie die Datei RSReportServer.config. Die Datei RSReportServer.config befindet sich im Verzeichnis "ReportServer". Sie müssen einen Eintrag in der Konfigurationsdatei für die Datei der Übermittlungserweiterungsassembly vornehmen. Sie können die Konfigurationsdatei mit Visual Studio .NET oder mit einem einfachen Text-Editor wie dem Microsoft-Editor öffnen.

  3. Suchen Sie das DeliveryUI-Element in der Datei RSReportServer.config. In folgendem Verzeichnis muss ein Eintrag für die neu erstellte Übermittlungserweiterung erstellt werden:

    <Extensions>
       <DeliveryUI>
          <Your extension configuration information goes here>
       </DeliveryUI>
    </Extensions>
    
  4. Fügen Sie einen Eintrag für die Übermittlungserweiterung hinzu. Der Eintrag sollte ein Extension-Element mit den Werten für Name und Type enthalten und kann folgendermaßen aussehen:

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

    Der Wert für Name ist der eindeutige Name der Übermittlungserweiterung. Der Wert für Type ist eine durch Trennzeichen getrennte Liste, die einen Eintrag für den vollqualifizierten Namespace der Klasse enthält, die die Schnittstelle ISubscriptionBaseUIUserControl implementiert, gefolgt vom Namen der Assembly (ohne die Dateierweiterung .dll).

    Wichtiger HinweisWichtig

    Der Wert des Name-Attributs muss für die Einträge in den beiden Konfigurationsdateien des Berichtsservers und des Berichts-Managers identisch sein. Wenn sie nicht identisch sind, ist die Serverkonfiguration nicht gültig.

    Zum Schluss müssen Sie eine Codegruppe für die benutzerdefinierte Assembly hinzufügen, die die Berechtigung FullTrust für die Übermittlungserweiterung erteilt. Hierzu fügen Sie die Codegruppe zur Datei RSmgrpolicy.config hinzu, die sich standardmäßig in C:\Programme\Microsoft SQL Server\MSRS10.<InstanceName>\Reporting Services\ReportManager befindet. Die Codegruppe kann folgendermaßen aussehen:

    <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.<InstanceName>\Reporting Services\ReportManager\bin\MyExtensionAssembly.dll"
           />
    </CodeGroup>
    

    Die URL-Mitgliedschaft ist eine der vielen Mitgliedschaftsbedingungen, die Sie für die Übermittlungserweiterung auswählen können. Weitere Informationen zur Codezugriffssicherheit in SSRS finden Sie unter Sichere Entwicklung (Reporting Services).

Überprüfen der Bereitstellung

Sie können prüfen, ob die Übermittlungserweiterung erfolgreich auf dem Berichtsserver bereitgestellt wurde, indem Sie die Webdienstmethode ListExtensions verwenden. Sie können auch den Berichts-Manager öffnen und prüfen, ob die Erweiterung in der Liste der für ein Abonnement verfügbaren Übermittlungserweiterungen enthalten ist. Weitere Informationen zum Berichts-Manager und zu Abonnements finden Sie unter Abonnement und Übermittlung [Reporting Services].