Exemples de manifestes d’application pour plusieurs conteneurs et de service
Le document suivant fournit des exemples de manifestes d’applications et de services pour une application Service Fabric multiconteneur. Ces exemples ont pour but de vous montrer les paramètres disponibles et leur utilisation. Ces manifestes d’applications et de services sont basés sur les manifestes de l’exemple de conteneur Windows Server 2016.
Les fonctionnalités sont les suivantes :
Pour en savoir plus sur les éléments XML spécifiques, consultez les articles Éléments de manifeste de l’application, Éléments de manifeste de service FrontEndService et Éléments de manifeste de service BackEndService.
Manifeste d’application
<?xml version="1.0" encoding="utf-8"?>
<ApplicationManifest ApplicationTypeName="Container.ApplicationType"
ApplicationTypeVersion="1.0.0"
xmlns="http://schemas.microsoft.com/2011/01/fabric"
xmlns:xsd="https://www.w3.org/2001/XMLSchema"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance">
<Parameters>
<Parameter Name="BackEndService_InstanceCount" DefaultValue="-1" />
<Parameter Name="FrontEndService_InstanceCount" DefaultValue="-1" />
<Parameter Name="CpuCores" DefaultValue="2" />
<Parameter Name="BlockIOWeight" DefaultValue="200" />
<Parameter Name="MaximumIOBandwidth" DefaultValue="1024" />
<Parameter Name="MemoryReservationInMB" DefaultValue="1024" />
<Parameter Name="MemorySwapInMB" DefaultValue="4084"/>
<Parameter Name="MaximumIOps" DefaultValue="20"/>
<Parameter Name="MemoryFront" DefaultValue="4084" />
<Parameter Name="MemoryBack" DefaultValue="2048" />
<Parameter Name="CertThumbprint" DefaultValue=""/>
</Parameters>
<!-- Import the ServiceManifest from the ServicePackage. The ServiceManifestName and ServiceManifestVersion
should match the Name and Version attributes of the ServiceManifest element defined in the
ServiceManifest.xml file. -->
<ServiceManifestImport>
<ServiceManifestRef ServiceManifestName="BackEndServicePkg" ServiceManifestVersion="1.0.0" />
<!-- Policies to be applied to the imported service manifest. -->
<Policies>
<!-- Set resource governance at the service package level. -->
<ServicePackageResourceGovernancePolicy CpuCores="[CpuCores]" MemoryInMB="[MemoryFront]"/>
<!-- Set resource governance at the code package level. -->
<ResourceGovernancePolicy CodePackageRef="Code" CpuPercent="10" MemoryInMB="[MemoryFront]" BlockIOWeight="[BlockIOWeight]" MaximumIOBandwidth="[MaximumIOBandwidth]" MaximumIOps="[MaximumIOps]" MemoryReservationInMB="[MemoryReservationInMB]" MemorySwapInMB="[MemorySwapInMB]"/>
<!-- Policies for activating container hosts. -->
<ContainerHostPolicies CodePackageRef="Code" Isolation="process">
<!-- Credentials for the repository hosting the container image.-->
<RepositoryCredentials AccountName="sfsamples" Password="ENCRYPTED-PASSWORD" PasswordEncrypted="true"/>
<!-- This binds the port the container is listening on (8905 in this sample) to an endpoint resource named "BackEndServiceTypeEndpoint", which is defined in the service manifest. -->
<PortBinding ContainerPort="8905" EndpointRef="BackEndServiceTypeEndpoint"/>
<!-- Configure the Azure Files volume plugin. Bind the source folder on the host VM or a remote share to the destination folder within the running container. -->
<Volume Source="azfiles" Destination="c:\VolumeTest\Data" Driver="sfazurefile">
<!-- Driver options to be passed to driver. The Azure Files volume plugin supports the following driver options:
shareName (the Azure Files file share that provides the volume for the container), storageAccountName (the Azure storage account
that contains the Azure Files file share), storageAccountKey (Access key for the Azure storage account that contains the Azure Files file share).
These three driver options are required. -->
<DriverOption Name="shareName" Value="" />
<DriverOption Name="storageAccountName" Value="MY-STORAGE-ACCOUNT-NAME" />
<DriverOption Name="storageAccountKey" Value="MY-STORAGE-ACCOUNT-KEY" />
</Volume>
<!-- Windows Server containers may not be compatible across different versions of the OS. You can specify multiple OS images per container and tag
them with the build versions of the OS. Get the build version of the OS by running "winver" at a Windows command prompt. -->
<ImageOverrides>
<!-- If the underlying OS is build version 16299 (Windows Server version 1709), Service Fabric picks the container image tagged with Os="16299". -->
<Image Name="sfsamples.azurecr.io/sfsamples/servicefabricbackendservice_1709" Os="16299" />
<!-- An untagged container image is assumed to work across all versions of the OS and overrides the image specified in the service manifest. -->
<Image Name="sfsamples.azurecr.io/sfsamples/servicefabricbackendservice_default" />
</ImageOverrides>
</ContainerHostPolicies>
</Policies>
</ServiceManifestImport>
<!-- Policies to be applied to the imported service manifest. -->
<ServiceManifestImport>
<ServiceManifestRef ServiceManifestName="FrontEndServicePkg" ServiceManifestVersion="1.0.0" />
<!-- This enables you to provide different values for environment variables when creating a FrontEndService
Theses environment variables are declared in the FrontEndServiceType service manifest-->
<EnvironmentOverrides CodePackageRef="Code">
<EnvironmentVariable Name="BackendServiceName" Value="Container.Application/BackEndService"/>
<EnvironmentVariable Name="HttpGatewayPort" Value="19080"/>
<EnvironmentVariable Name="IsContainer" Value="true"/>
</EnvironmentOverrides>
<!-- This policy maps the port of the container (80) to the endpoint declared in the service,
FrontEndServiceTypeEndpoint which is exposed as port 80 on the host-->
<Policies>
<!-- Set resource governance at the service package level. -->
<ServicePackageResourceGovernancePolicy CpuCores="[CpuCores]" MemoryInMB="[MemoryBack]"/>
<!-- Policies for activating container hosts. -->
<ContainerHostPolicies CodePackageRef="Code" Isolation="process">
<!-- Credentials for the repository hosting the container image.-->
<RepositoryCredentials AccountName="sfsamples" Password="ENCRYPTED-PASSWORD" PasswordEncrypted="true"/>
<!-- Binds an endpoint resource (declared in the service manifest) to the exposed container port. -->
<PortBinding ContainerPort="80" EndpointRef="FrontEndServiceTypeEndpoint"/>
<!-- Import a certificate into the container. The certificate must be installed in the LocalMachine store of all the cluster nodes.
When the application starts, the runtime reads the certificate and generates a PFX file and password (on Windows) or a PEM file (on Linux).
The PFX file and password are accessible in the container using the Certificates_ServicePackageName_CodePackageName_CertName_PFX and
Certificates_ServicePackageName_CodePackageName_CertName_Password environment variables. The PEM file is accessible in the container using the
Certificates_ServicePackageName_CodePackageName_CertName_PEM and Certificates_ServicePackageName_CodePackageName_CertName_PrivateKey environment variables.-->
<CertificateRef Name="MyCert1" X509StoreName="My" X509FindValue="[CertThumbprint]" />
<!-- If the certificate is already in PFX or PEM form, you can create a data package inside your application and reference that certificate here. -->
<CertificateRef Name="MyCert2" DataPackageRef="Data" DataPackageVersion="1.0.0" RelativePath="MyCert2.PFX" Password="ENCRYPTED-PASSWORD" IsPasswordEncrypted="true"/>
</ContainerHostPolicies>
</Policies>
</ServiceManifestImport>
<DefaultServices>
<!-- The section below creates instances of service types, when an instance of this
application type is created. You can also create one or more instances of service type using the
ServiceFabric PowerShell module.
The attribute ServiceTypeName below must match the name defined in the imported ServiceManifest.xml file. -->
<Service Name="FrontEndService" >
<StatelessService ServiceTypeName="FrontEndServiceType" InstanceCount="[FrontEndService_InstanceCount]">
<SingletonPartition />
</StatelessService>
</Service>
<Service Name="BackEndService" ServicePackageActivationMode="ExclusiveProcess">
<StatelessService ServiceTypeName="BackEndServiceType" InstanceCount="[BackEndService_InstanceCount]">
<SingletonPartition />
</StatelessService>
</Service>
</DefaultServices>
</ApplicationManifest>
Manifeste de service FrontEndService
<?xml version="1.0" encoding="utf-8"?>
<ServiceManifest Name="FrontEndServicePkg"
Version="1.0.0"
xmlns="http://schemas.microsoft.com/2011/01/fabric"
xmlns:xsd="https://www.w3.org/2001/XMLSchema"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance">
<ServiceTypes>
<!-- This is the name of your ServiceType.
The UseImplicitHost attribute indicates this is a guest service. -->
<StatelessServiceType ServiceTypeName="FrontEndServiceType" UseImplicitHost="true" />
</ServiceTypes>
<!-- Code package is your service executable. -->
<CodePackage Name="Code" Version="1.0.0">
<EntryPoint>
<ContainerHost>
<!--The repo and image on https://hub.docker.com or Azure Container Registry. -->
<ImageName>sfsamples.azurecr.io/sfsamples/servicefabricfrontendservice:v1</ImageName>
</ContainerHost>
</EntryPoint>
<!-- Pass environment variables to your container or exe. These variables are overridden in the application manifest. -->
<EnvironmentVariables>
<EnvironmentVariable Name="BackendServiceName" Value=""/>
<EnvironmentVariable Name="HttpGatewayPort" Value=""/>
<EnvironmentVariable Name="IsContainer" Value=""/>
</EnvironmentVariables>
</CodePackage>
<!-- Config package is the contents of the Config directory under PackageRoot that contains an
independently-updateable and versioned set of custom configuration settings for your service. -->
<ConfigPackage Name="Config" Version="1.0.0" />
<!-- Data package is the contents of the Data directory under PackageRoot that contains an
independently-updateable and versioned static data that's consumed by the process at runtime. -->
<DataPackage Name="Data" Version="1.0.0"/>
<Resources>
<Endpoints>
<!-- This endpoint is used by the communication listener to obtain the port on which to
listen. For a guest executable is used to register with the NamingService at its REST endpoint
with http scheme and port 80 -->
<Endpoint Name="FrontEndServiceTypeEndpoint" UriScheme="http" Port="80"/>
</Endpoints>
</Resources>
</ServiceManifest>
Manifeste de service BackEndService
<?xml version="1.0" encoding="utf-8"?>
<ServiceManifest Name="BackEndServicePkg"
Version="1.0.0"
xmlns="http://schemas.microsoft.com/2011/01/fabric"
xmlns:xsd="https://www.w3.org/2001/XMLSchema"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance">
<ServiceTypes>
<!-- This is the name of your ServiceType.
The UseImplicitHost attribute indicates this is a guest service. -->
<StatelessServiceType ServiceTypeName="BackEndServiceType" UseImplicitHost="true" />
</ServiceTypes>
<!-- Code package is your service executable. -->
<CodePackage Name="Code" Version="1.0.0">
<EntryPoint>
<ContainerHost>
<!--The repo and image on https://hub.docker.com or Azure Container Registry. -->
<ImageName>sfsamples.azurecr.io/sfsamples/servicefabricbackendservice:v1</ImageName>
<!-- Pass comma delimited commands to your container. -->
<Commands> dotnet, myproc.dll, 5 </Commands>
</ContainerHost>
</EntryPoint>
<!-- Pass environment variables to your container. These variables are overridden in the application manifest. -->
<EnvironmentVariables>
<EnvironmentVariable Name="IsContainer" Value="true"/>
</EnvironmentVariables>
</CodePackage>
<!-- Config package is the contents of the Config directory under PackageRoot that contains an
independently-updateable and versioned set of custom configuration settings for your service. -->
<ConfigPackage Name="Config" Version="1.0.0" />
<Resources>
<Endpoints>
<!-- This endpoint is used by the communication listener to obtain the host port on which to
listen. For a guest executable is used to register with the NamingService at its REST endpoint
with http scheme. In this case since no port is specified, one is created and assigned dynamically
to the service. This dynamically assigned host port is mapped to the container port (8905 in this sample),
which was specified in the application manifest.-->
<Endpoint Name="BackEndServiceTypeEndpoint" UriScheme="http" />
</Endpoints>
</Resources>
</ServiceManifest>
Éléments de manifeste de l’application
Élément ApplicationManifest
Décrit de façon déclarative la version et le type d’application. Un ou plusieurs manifestes des services constitutifs sont référencés pour composer un type d’application. Les paramètres de configuration des services constitutifs peuvent être substitués à l’aide de paramètres d’application paramétrables. Les services, modèles de service, entités, stratégies, configuration de diagnostics et certificats par défaut peuvent également être déclarés au niveau de l’application. Pour plus d’informations, consultez l’article Élément ApplicationManifest.
Élément Parameters
Déclare les paramètres utilisés dans ce manifeste d’application. La valeur de ces paramètres peut être fournie quand l’application est instanciée, et peut être utilisée pour substituer les paramètres de configuration de service ou d’application. Pour plus d’informations, consultez l’article Élément Parameters.
Élément Parameter
Paramètre d’application à utiliser dans ce manifeste. La valeur du paramètre peut être modifiée lors de l’instanciation de l’application ou, si aucune valeur n’est fournie, la valeur par défaut est utilisée. Pour plus d’informations, consultez l’article Élément Parameter.
Élément ServiceManifestImport
Importe un manifeste de service créé par le développeur de service. Un manifeste de service doit être importé pour chaque service constitutif de l’application. Des substitutions et des stratégies de configuration peuvent être déclarées pour le manifeste de service. Pour plus d’informations, consultez l’article Élément ServiceManifestImport.
Élément ServiceManifestRef
Importe le manifeste de service par référence. Actuellement, le fichier manifeste de service (ServiceManifest.xml) doit être présent dans le package de build. Pour plus d’informations, consultez l’article Élément ServiceManifestRef.
Élément Policies
Décrit les stratégies (liaison de point de terminaison, partage de package, exécuter en tant que, et accès et sécurité) à appliquer sur le manifeste de service importé. Pour plus d’informations, consultez l’article Élément Policies.
Élément ServicePackageResourceGovernancePolicy
Définit la stratégie de gouvernance des ressources qui est appliquée au niveau du package de service entier. Pour plus d’informations, consultez l’article Élément ServicePackageResourceGovernancePolicy.
Élément ResourceGovernancePolicy
Spécifie les limites de ressources d’un package de code. Pour plus d’informations, consultez l’article Élément ResourceGovernancePolicy.
Élément ContainerHostPolicies
Spécifie des stratégies pour l’activation des hôtes de conteneur. Pour plus d’informations, consultez l’article Élément ContainerHostPolicies.
Élément RepositoryCredentials
Informations d’identification pour le référentiel d’images de conteneur à partir duquel extraire des images. Pour plus d’informations, consultez l’article Élément RepositoryCredentials
Élément PortBinding
Spécifie la ressource de point de terminaison à utiliser pour lier le port du conteneur exposé. Pour plus d’informations, consultez l’article Élément ContainerHostPolicies.
Élément Volume
Spécifie le volume à lier au conteneur. Pour plus d’informations, consultez l’article Élément Volume.
Élément DriverOption
Options de pilote à passer au pilote. Pour plus d’informations, consultez l’article Élément DriverOption.
Élément ImageOverrides
Les conteneurs Windows Server peuvent ne pas être compatibles entre les différentes versions du système d’exploitation. Vous pouvez spécifier plusieurs images du système d’exploitation par conteneur et les marquer avec les versions de build du système d’exploitation. Obtenez le numéro de build du système d’exploitation en exécutant « winver » dans une invite de commandes Windows. Si la version de build du système d’exploitation sous-jacent est 16299 (Windows Server version 1709), Service Fabric choisit l’image de conteneur marquée Os="16299". Une image de conteneur non marquée est censée fonctionner sur toutes les versions du système d’exploitation et remplace l’image spécifiée dans le manifeste de service. Pour plus d’informations, consultez l’article Élément ImageOverrides.
Élément Image
Image de conteneur correspondant au numéro de build du système d’exploitation à lancer. Si l’attribut du système d’exploitation n’est pas spécifié, l’image conteneur est supposée fonctionner sur toutes les versions du système d’exploitation et remplace l’image spécifiée dans le manifeste du service. Pour plus d’informations, consultez l’article Élément Image.
Élément EnvironmentOverrides
Pour plus d’informations, consultez l’article Élément EnvironmentOverrides.
Élément EnvironmentVariable
Variable d’environnement. Pour plus d’informations, consultez l’article Élément EnvironmentVariable.
Élément CertificateRef
Spécifie des informations sur un certificat X509 qui doit être exposé à l’environnement de conteneur. Le certificat doit être installé dans le magasin LocalMachine de tous les nœuds du cluster. Lors du démarrage de l’application, le runtime lit le certificat et génère un fichier PFX ainsi qu’un mot de passe (Windows) ou un fichier PEM (Linux). Le fichier PFX et le mot de passe sont accessibles dans le conteneur en utilisant les variables d’environnement Certificates_ServicePackageName_CodePackageName_CertName_PFX et Certificates_ServicePackageName_CodePackageName_CertName_Password. Le fichier PEM est accessible dans le conteneur en utilisant les variables d’environnement Certificates_ServicePackageName_CodePackageName_CertName_PEM et Certificates_ServicePackageName_CodePackageName_CertName_PrivateKey. Pour plus d’informations, consultez l’article Élément CertificateRef.
Élément DefaultServices
Déclare des instances de service qui sont créées automatiquement chaque fois qu’une application est instanciée par rapport à ce type d’application. Pour plus d’informations, consultez l’article Élément DefaultServices.
Élément Service
Déclare un service devant être créé automatiquement quand l’application est instanciée. Pour plus d’informations, consultez l’article Élément Service.
Élément StatelessService
Définit un service sans état. Pour plus d’informations, consultez l’article Élément StatelessService.
Éléments de manifeste de service FrontEndService
Élément ServiceManifest
Décrit de façon déclarative le type et la version du service. Il répertorie les packages de code, de configuration et de données pouvant être mis à niveau indépendamment et qui constituent ensemble un package de service pour prendre en charge un ou plusieurs types de service. Les ressources, paramètres de diagnostics et métadonnées de service, telles que le type de service, les propriétés d’intégrité et les métriques d’équilibrage de charge, sont également spécifiés. Pour plus d’informations, consultez l’article Élément ServiceManifest.
Élément ServiceTypes
Définit les types de service pris en charge par un CodePackage dans ce manifeste. Quand un service est instancié par rapport à un de ces types de service, tous les packages de code déclarés dans ce manifeste sont activés en exécutant leurs points d'entrée. Les types de service sont déclarés au niveau du manifeste et non au niveau du package de code. Pour plus d’informations, consultez l’article Élément ServiceTypes.
Élément StatelessServiceType
Décrit un type de service sans état. Pour plus d’informations, consultez l’article Élément StatelessServiceType.
Élément CodePackage
Décrit un package de code qui prend en charge un type de service défini. Quand un service est instancié par rapport à un de ces types de service, tous les packages de code déclarés dans ce manifeste sont activés en exécutant leurs points d'entrée. Les processus qui en résultent sont censés inscrire les types de service pris en charge au moment de l'exécution. S’il existe plusieurs packages de code, ils sont tous activés chaque fois que le système recherche l’un des types de service déclarés. Pour plus d’informations, consultez l’article Élément CodePackage.
Élément EntryPoint
Le fichier exécutable spécifié par EntryPoint est généralement l’hôte de service à exécution longue. La présence d’un point d’entrée de configuration distinct évite d’avoir à exécuter l’hôte de service avec des privilèges élevés pendant de longues périodes de temps. Le fichier exécutable spécifié par EntryPoint est exécuté une fois que SetupEntryPoint se termine correctement. Le processus résultant fait l’objet d’une surveillance et est redémarré (à partir de SetupEntryPoint) en cas d’interruption ou de défaillance. Pour plus d’informations, consultez l’article Élément EntryPoint.
Élément ContainerHost
Pour plus d’informations, consultez l’article Élément ContainerHost.
Élément ImageName
Référentiel et image sur https://hub.docker.com ou dans Azure Container Registry. Pour plus d’informations, consultez l’article Élément ImageName.
Élément EnvironmentVariables
Passez les variables d'environnement à votre conteneur ou fichier exe. Pour plus d’informations, consultez l’article Élément EnvironmentVariables.
Élément EnvironmentVariable
Variable d’environnement. Pour plus d’informations, consultez l’article Élément EnvironmentVariable.
Élément ConfigPackage
Déclare un dossier, nommé par l’attribut Name, qui contient un fichier Settings.xml. Ce fichier contient des sections de paramètres clé-valeur définis par l'utilisateur que le processus peut lire pendant l'exécution. Le processus en cours d’exécution n’est pas redémarré pendant la mise à niveau si seule la version de ConfigPackage a changé. Au lieu de cela, un rappel indique au processus que les paramètres de configuration ont été modifiés afin qu'ils puissent être rechargés dynamiquement. Pour plus d’informations, consultez l’article Élément ConfigPackage.
Élément DataPackage
Déclare un dossier, nommé par l’attribut Name, qui contient des fichiers de données statiques. Service Fabric recycle tous les fichiers EXE et DLLHOST spécifiés dans les packages hôtes et de prise en charge quand l’un des packages de données répertoriés dans le manifeste de service est mis à niveau. Pour plus d’informations, consultez l’article Élément DataPackage.
Élément Resources
Décrit les ressources utilisées par ce service, qui peuvent être déclarées sans modifier le code compilé et changées quand le service est déployé. L’accès à ces ressources est contrôlé par le biais des sections Principals et Policies du manifeste d’application. Pour plus d’informations, consultez l’article Élément Resources.
Élément Endpoints
Définit des points de terminaison pour le service. Pour plus d’informations, consultez l’article Élément Endpoints.
Élément Endpoint
Pour plus d’informations, consultez l’article Élément Endpoint.
Éléments de manifeste de service BackEndService
Élément ServiceManifest
Décrit de façon déclarative le type et la version du service. Il répertorie les packages de code, de configuration et de données pouvant être mis à niveau indépendamment et qui constituent ensemble un package de service pour prendre en charge un ou plusieurs types de service. Les ressources, paramètres de diagnostics et métadonnées de service, telles que le type de service, les propriétés d’intégrité et les métriques d’équilibrage de charge, sont également spécifiés. Pour plus d’informations, consultez l’article Élément ServiceManifest.
Élément ServiceTypes
Définit les types de service pris en charge par un CodePackage dans ce manifeste. Quand un service est instancié par rapport à un de ces types de service, tous les packages de code déclarés dans ce manifeste sont activés en exécutant leurs points d'entrée. Les types de service sont déclarés au niveau du manifeste et non au niveau du package de code. Pour plus d’informations, consultez l’article Élément ServiceTypes.
Élément StatelessServiceType
Décrit un type de service sans état. Pour plus d’informations, consultez l’article Élément StatelessServiceType.
Élément CodePackage
Décrit un package de code qui prend en charge un type de service défini. Quand un service est instancié par rapport à un de ces types de service, tous les packages de code déclarés dans ce manifeste sont activés en exécutant leurs points d'entrée. Les processus qui en résultent sont censés inscrire les types de service pris en charge au moment de l'exécution. S’il existe plusieurs packages de code, ils sont tous activés chaque fois que le système recherche l’un des types de service déclarés. Pour plus d’informations, consultez l’article Élément CodePackage.
Élément EntryPoint
Le fichier exécutable spécifié par EntryPoint est généralement l’hôte de service à exécution longue. La présence d’un point d’entrée de configuration distinct évite d’avoir à exécuter l’hôte de service avec des privilèges élevés pendant de longues périodes de temps. Le fichier exécutable spécifié par EntryPoint est exécuté une fois que SetupEntryPoint se termine correctement. Le processus résultant fait l’objet d’une surveillance et est redémarré (à partir de SetupEntryPoint) en cas d’interruption ou de défaillance. Pour plus d’informations, consultez l’article Élément EntryPoint.
Élément ContainerHost
Pour plus d’informations, consultez l’article Élément ContainerHost.
Élément ImageName
Référentiel et image sur https://hub.docker.com ou dans Azure Container Registry. Pour plus d’informations, consultez l’article Élément ImageName.
Élément Commands
Passez une liste de commandes séparées par des virgules au conteneur. Pour plus d’informations, consultez l’article Élément Commands.
Élément EnvironmentVariables
Passez les variables d'environnement à votre conteneur ou fichier exe. Pour plus d’informations, consultez l’article Élément EnvironmentVariables.
Élément EnvironmentVariable
Variable d’environnement. Pour plus d’informations, consultez l’article Élément EnvironmentVariable.
Élément ConfigPackage
Déclare un dossier, nommé par l’attribut Name, qui contient un fichier Settings.xml. Ce fichier contient des sections de paramètres clé-valeur définis par l'utilisateur que le processus peut lire pendant l'exécution. Le processus en cours d’exécution n’est pas redémarré pendant la mise à niveau si seule la version de ConfigPackage a changé. Au lieu de cela, un rappel indique au processus que les paramètres de configuration ont été modifiés afin qu'ils puissent être rechargés dynamiquement. Pour plus d’informations, consultez l’article Élément ConfigPackage.
Élément Resources
Décrit les ressources utilisées par ce service, qui peuvent être déclarées sans modifier le code compilé et changées quand le service est déployé. L’accès à ces ressources est contrôlé par le biais des sections Principals et Policies du manifeste d’application. Pour plus d’informations, consultez l’article Élément Resources.
Élément Endpoints
Définit des points de terminaison pour le service. Pour plus d’informations, consultez l’article Élément Endpoints.
Élément Endpoint
Pour plus d’informations, consultez l’article Élément Endpoint.