Share via


Utilisation de paramètres dans un fichier de définition d'application (ADF)

Si vous définissez une application Notification Services dans un fichier XML de définition d'application (ADF), vous pouvez utiliser des paramètres pour améliorer la sécurité et la portabilité du fichier ADF et faciliter sa mise à jour. Vous pouvez également transmettre des valeurs d'un fichier de configuration d'instance (ICF) dans des fichiers de définition d'application.

Si vous définissez une application par programme, il n'y a pas d'objets de paramètre. Si vous voulez un emplacement unique afin de mettre à jour une valeur pour une application, vous pouvez utiliser des variables.

Paramètres de Notification Services

Notification Services vous permet d'utiliser des paramètres à la place des valeurs d'élément. L'utilisation des paramètres est intéressante pour plusieurs raisons :

  • Vous pouvez conserver des données sensibles en dehors de la définition d'application et fournir des valeurs uniquement lors de la création ou de la mise à jour de l'application.
  • Vous pouvez définir une valeur de paramètre une seule fois et utiliser celle-ci dans plusieurs éléments.
  • Vous pouvez simplifier les mises à jour d'instance et d'application en plaçant les valeurs susceptibles d'être modifiées dans un endroit unique.

Dans un fichier ADF, un paramètre à remplacer ressemble à ceci : %MyParam%. Il s'agit du nom de paramètre entouré des caractères de pourcentage, qui est similaire à une variable d'environnement. Lorsque vous définissez une valeur pour le paramètre, vous spécifiez le nom (MyParam) et la valeur du paramètre, par exemple MyServer. À l'instar des variables d'environnement, les noms de paramètre ne respectent pas la casse.

Lorsque vous créez ou mettez à jour l'application, Notification Services remplace le paramètre (%MyParam%) par la valeur que vous spécifiez (MyServer).

Pour le fichier ADF, vous pouvez fournir des valeurs de paramètre dans l'élément ParameterDefaults du fichier ADF. Vous pouvez transmettre des valeurs du fichier ICF à l'application en définissant des noms et des valeurs de paramètre dans la section Application du fichier ICF.

ms166503.note(fr-fr,SQL.90).gifImportant :
Si vous utilisez des paramètres dans un fichier ADF ou ICF mais ne fournissez pas de valeurs pour les paramètres lors de la création ou de la mise à jour de l'instance, le processus de création ou de mise à jour échoue.

Définition des valeurs par défaut des paramètres dans le fichier ADF

Vous pouvez fournir des valeurs pour les paramètres ADF dans l'élément ParameterDefaults du fichier ADF. Notification Services lit les noms et les valeurs de paramètre dans cet élément et remplace les paramètres correspondants par les valeurs spécifiées.

Par exemple, vous pouvez utiliser un paramètre pour un chemin d'accès de fichier commun à plusieurs éléments. Vous pouvez nommer ce paramètre BaseDirPath et créer les éléments suivants dans votre fichier ADF :

<BaseDirectoryPath>%BaseDirPath%\Stock</BaseDirectoryPath>
...
<AssemblyName>%BaseDirPath%\MyContentFormatter.dll</AssemblyName>

Vous pouvez ensuite fournir une valeur pour %BaseDirPath% de la façon suivante :

<ParameterDefaults>
    <Parameter>
        <Name>BaseDirPath</Name>
        <Value>C:\NS</Value>
    </Parameter>
</ParameterDefaults>

Lorsque vous créez ou mettez à jour l'instance, Notification Services remplace chaque occurrence de %BaseDirPath% dans le fichier ADF par la chaîne « C:\\NS ». Cela revient logiquement à utiliser les éléments suivants de votre fichier ADF :

<BaseDirectoryPath>C:\NS\Stock</BaseDirectoryPath>
...
<AssemblyName>C:\NS\SMS.dll</AssemblyName>

Transmission des paramètres à partir d'un fichier ICF

Dans le fichier ICF, vous utilisez l'élément Application pour décrire une application hébergée par l'instance. L'élément Application possède un élément enfant Parameters. Vous pouvez utiliser cet élément enfant afin de définir des valeurs de paramètre pour le fichier ADF.

Par exemple, dans le fichier ADF, vous devez définir les serveurs qui vont exécuter les fournisseurs d'événements hébergés, le générateur et les serveurs de distribution. Pour cela, vous utilisez les éléments SystemName du fichier ADF. Si vous exécutez tous ces composants sur un serveur unique et voulez définir le nom du serveur lorsque vous créez l'instance, vous pouvez utiliser des paramètres du fichier ADF :

<HostedProvider>
    ...
    <SystemName>%ApplicationServer%</SystemName>
    ...
    <Generator>
        <SystemName>%ApplicationServer%</SystemName>
    ...
    <Distributor>
        <SystemName>%ApplicationServer%</SystemName>
    ...

Vous pouvez ensuite définir une valeur pour ce paramètre dans l'élément Application du fichier ICF :

<Application>
    ...
    <Parameters>
        <Parameter>
            <Name>ApplicationServer</Name>
            <Value>Server01</Value>
        </Parameter>
    </Parameters>
</Application>

Lorsque vous créez l'instance, Notification Services remplace chaque occurrence de %ApplicationServer% du fichier ADF par la valeur « Server01 ».

Transmission des paramètres lors de la compilation d'une instance

Si vous souhaitez conserver des valeurs de paramètre en dehors du fichier ADF et ICF, vous pouvez fournir des valeurs lors de la création ou de la mise à jour de l'instance ou dans des variables d'environnement. Par exemple, si vous employez l'utilitaire de ligne de commande nscontrol pour créer une instance de Notification Services, vous pouvez fournir le nom d'utilisateur et le mot de passe sur la ligne de commande.

Pour transmettre ces valeurs au fichier ADF, vous devez utiliser des paramètres dans la section Application du fichier ICF. En reprenant l'exemple ci-dessus, au lieu de définir le serveur d'application dans le fichier ICF vous pouvez utiliser le paramètre %Server%, comme illustré dans ce code :

<Application>
    ...
    <Parameters>
        <Parameter>
            <Name>ApplicationServer</Name>
            <Value>%Server%</Value>
        </Parameter>
    </Parameters>
</Application>

Vous pouvez ensuite fournir des valeurs pour le paramètre sur la ligne de commande :

nscontrol create -in "C:\NS\InstanceConfig.xml" Server=Server01

Lorsque vous créez ou mettez à jour l'instance, la valeur Server01 remplace %Server% dans le fichier ICF. Server01 remplace alors toutes les occurrences de %ApplicationServer% dans le fichier ADF.

Vous pouvez également transmettre des paramètres au fichier ADF lors de l'utilisation de SQL Server Management Studio pour créer et mettre à jour des instances de Notification Services. Cependant, SQL Server Management Studio n'autorise qu'un seul niveau de substitution de paramètres. Par exemple, le paramètre A peut faire référence au paramètre B uniquement si B ne fait pas lui-même référence à un autre paramètre.

Priorité des valeurs de paramètre

Il est possible de définir une valeur pour le même paramètre dans la section ParameterDefaults, en tant que variable d'environnement, et lors de la création ou de la mise à jour de l'instance. Par conséquent, les valeurs de paramètre sont hiérarchisées :

  • Les valeurs de paramètre fournies lors de la création ou de la mise à jour de l'instance ont la priorité la plus élevée ; elles supplantent les valeurs fournies dans les variables d'environnement et dans la section ParameterDefaults.
  • Les variables d'environnement supplantent les valeurs de ParameterDefaults.
  • Les valeurs de ParameterDefaults ont la priorité la plus faible.

Voir aussi

Concepts

Utilisation de paramètres dans un fichier de configuration d'instance (ICF)

Autres ressources

ParameterDefaults Element (ADF)
Parameter Element (ADF)
ParameterDefaults Element (ICF)
Utilitaire nscontrol
Définition des applications Notification Services
Configuration des instances de Notification Services

Aide et Informations

Assistance sur SQL Server 2005