IDeliveryExtension.ExtensionSettings Property

Gets a list of settings that are used by the delivery extension to create a notification or report.

Namespace:  Microsoft.ReportingServices.Interfaces
Assemblies:   Microsoft.ReportingServices.SharePoint.UI.WebParts (in Microsoft.ReportingServices.SharePoint.UI.WebParts.dll)
  Microsoft.ReportingServices.Interfaces (in Microsoft.ReportingServices.Interfaces.dll)

Syntax

'Declaration
ReadOnly Property ExtensionSettings As Setting()
    Get
'Usage
Dim instance As IDeliveryExtension
Dim value As Setting()

value = instance.ExtensionSettings
Setting[] ExtensionSettings { get; }
property array<Setting^>^ ExtensionSettings {
    array<Setting^>^ get ();
}
abstract ExtensionSettings : Setting[]
function get ExtensionSettings () : Setting[]

Property Value

Type: array<Microsoft.ReportingServices.Interfaces.Setting[]
The settings of a delivery extension.

Remarks

Delivery extensions must implement the ExtensionSettings property. The report server uses the value returned by the ExtensionSettings property to evaluate the settings that a delivery extension requires. Clients that interact with delivery extensions use the GetExtensionSettings method of the Web service to return a list of settings for the delivery extension. If this method is not properly implemented, clients cannot retrieve a list of settings for the extension and therefore cannot retrieve the necessary information to use the delivery extension in subscriptions.

Examples

The following code example returns settings that might be used in a delivery provider that sends reports to a printer.

Visual Basic implementation not available for this release.
private Setting[] m_settings = null;
// Public property implementation
public Setting[] ExtensionSettings
{
   get
   {
      if (m_settings == null)
      {
         m_settings = new Setting[3];
         m_settings[0] = new Setting();
         m_settings[0].Name = SubscriptionData.PRINTER;
         m_settings[0].ReadOnly = false;
         m_settings[0].Required = true;

         // Add the printer names that were retrieved from the 
         // configuration file to the set of valid values for
         // the setting
         foreach (string printer in m_printers)
         {
            m_settings[0].AddValidValue(printer.ToString(), printer.ToString());
         }

         // Setting for page height
         m_settings[1] = new Setting();
         m_settings[1].Name = SubscriptionData.PAGEHEIGHT;
         m_settings[1].ReadOnly = false;
         m_settings[1].Required = true;
         m_settings[1].Value = "11";

         // Setting for page width
         m_settings[2] = new Setting();
         m_settings[2].Name = SubscriptionData.PAGEWIDTH;
         m_settings[2].ReadOnly = false;
         m_settings[2].Required = true;
         m_settings[2].Value = "8.5";
      }

      return m_settings;
   }
}