Partager via


Configuration de la persistance des flux de travail à l'aide des cmdlets de Windows Server AppFabric

Les cmdlets de AppFabric permettent d'obtenir ou de définir les paramètres de persistance SQL Server pour des services de flux de travail. Vous pouvez configurer les fonctionnalités de persistance au niveau du service pour un service de flux de travail spécifique, ou sur une étendue de serveur, de site ou d'application, et faire hériter le service de ces paramètres définis à un niveau supérieur. Pour plus d'informations sur le fonctionnement des configurations dans la hiérarchie IIS, consultez la rubrique Processus de configuration dans Windows Server AppFabric.

Notes

Pour exécuter une cmdlet de AppFabric de manière interactive, vous devez utiliser la console Windows PowerShell pour Windows Server AppFabric, entrer la cmdlet appropriée, puis appuyer sur Entrée. Pour plus d'informations sur l'exécution des cmdlets de AppFabric, consultez la rubrique Exécution des cmdlets de Windows Server AppFabric. Pour plus d'informations sur les paramètres d'étendue (-SiteName, -VirtualPath, -Uri, etc.), consultez la rubrique Étendue des cmdlets. Pour plus d'informations sur les paramètres de chaînage (ApplicationInfo et ServiceInfo), consultez la rubrique Chaînage des cmdlets.

Cette rubrique contient des sections décrivant la configuration des fonctionnalités de persistance SQL Server pour un service de flux de travail.

Configuration des fonctionnalités de persistance SQL Server pour des services de flux de travail à l'aide de cmdlets

Cette section décrit l'utilisation de cmdlets de AppFabric pour obtenir, définir ou effacer des valeurs d'éléments et d'attributs liés à la persistance SQL Server dans le fichier de configuration associé à l'étendue spécifiée.

Cmdlet

Description

Get-ASAppSqlServicePersistence

Obtient les valeurs des éléments et attributs liés à la persistance de l'élément sqlWorkflowInstanceStore dans le fichier de configuration associé à l'étendue spécifiée.

Set-ASAppSqlServicePersistence

Définit les valeurs des éléments et attributs liés à la persistance de l'élément sqlWorkflowInstanceStore dans le fichier de configuration associé à l'étendue spécifiée.

Clear-ASAppSqlServicePersistence

Efface ou supprime l'élément sqlWorkflowInstanceStore du fichier de configuration associé à l'étendue spécifiée.

Options de syntaxe de la cmdlet Get-ASAppSqlServicePersistence

// to get workflow service persistence settings at the root level
Get-ASAppSqlServicePersistence -Root

// to get workflow service persistence settings at the Web site level
Get-ASAppSqlServicePersistence -SiteName <String> 

// to get workflow service persistence settings at the virtual application or service level that the VirtualPath points to 
Get-ASAppSqlServicePersistence -SiteName <String> -VirtualPath <String>] 

// to get workflow service persistence settings at the site, virtual application or service level that the Uri points to
Get-ASAppSqlServicePersistence -Uri <Uri> 

// to get workflow service persistence settings at the application level specified by the ApplicationObject.
Get-ASAppSqlServicePersistence -ApplicationObject <ApplicationInfo> 
// Ex: Get-ASApplication -SiteName "Default Web Site" -VirtualPath /SampleApp | Get-ASAppSqlServicePersistence

// to get workflow service persistence settings at the service level specified by the Service Object
Get-ASAppSqlServicePersistence -ServiceObject <ServiceInfo> 
// Ex: Get-ASApplicationService –SiteName “Default Web Site” –VirtualPath “/SampleApp/SampleService.xamlx” | Get-ASAppSqlServicePersistence

Options de syntaxe de la cmdlet Set-ASAppSqlServicePersistence

Set-ASAppSqlServicePersistence [-SiteName] <String> [[-VirtualPath] <String>] [-ConnectionString <String>] [-ConnectionStringName <String>] [-EnableNetPipeProtocol] [-HostLockRenewalPeriod <TimeSpan>] [-InstanceCompletionAction {DeleteAll | DeleteNothing}] [-InstanceEncodingOption {GZip | None}] [-InstanceLockedExceptionAction {AggressiveRetry | BasicRetry | NoRetry}] [-RunnableInstancesDetectionPeriod <Time>] [-UseInherited] [<CommonParameters>]

Set-ASAppSqlServicePersistence [-Uri] <Uri> [-ConnectionString <String>] [-ConnectionStringName <String>] [-EnableNetPipeProtocol] [-HostLockRenewalPeriod <TimeSpan>] [-InstanceCompletionAction {DeleteAll | DeleteNothing}] [-InstanceEncodingOption {GZip | None}] [-InstanceLockedExceptionAction {AggressiveRetry | BasicRetry | NoRetry}] [-RunnableInstancesDetectionPeriod <Time>] [-UseInherited] [<CommonParameters>]

Set-ASAppSqlServicePersistence -ApplicationObject <ApplicationInfo> [-ConnectionString <String>] [-ConnectionStringName <String>] [-EnableNetPipeProtocol] [-HostLockRenewalPeriod <TimeSpan>] [-InstanceCompletionAction {DeleteAll | DeleteNothing}] [-InstanceEncodingOption {GZip | None}] [-InstanceLockedExceptionAction {AggressiveRetry | BasicRetry | NoRetry}] [-RunnableInstancesDetectionPeriod <Time>] [-UseInherited] [<CommonParameters>]

Set-ASAppSqlServicePersistence -ServiceObject <ServiceInfo> [-ConnectionString <String>] [-ConnectionStringName <String>] [-EnableNetPipeProtocol] [-HostLockRenewalPeriod <TimeSpan>] [-InstanceCompletionAction {DeleteAll | DeleteNothing}] [-InstanceEncodingOption {GZip | None}] [-InstanceLockedExceptionAction {AggressiveRetry | BasicRetry | NoRetry}] [-RunnableInstancesDetectionPeriod <Time>] [-UseInherited] [<CommonParameters>]

Set-ASAppSqlServicePersistence [-ConnectionString <String>] [-ConnectionStringName <String>] [-EnableNetPipeProtocol] [-HostLockRenewalPeriod <TimeSpan>] [-InstanceCompletionAction {DeleteAll | DeleteNothing}] [-InstanceEncodingOption {GZip | None}] [-InstanceLockedExceptionAction {AggressiveRetry | BasicRetry | NoRetry}] [-Root] [-RunnableInstancesDetectionPeriod <Time>] [-UseInherited] [<CommonParameters>]

Le tableau suivant répertorie les paramètres spécifiques de la cmdlet Set-ASAppSqlServicePersistence.

Paramètre

Description

HostLockRenewalPeriod

Spécifie l'intervalle dans lequel un hôte doit renouveler son verrouillage sur l'instance de service de flux de travail avant l'expiration de celui-ci. Si l'hôte ne renouvelle pas le verrouillage lors de la période spécifiée, l'instance de service de flux de travail est déverrouillée et un autre hôte peut obtenir le verrouillage de l'instance.

InstanceCompletionAction

Spécifie si les informations relatives à l'état de l'instance sont conservées dans la base de données de persistance après l'exécution de l'instance de service de flux de travail. Les valeurs suivantes sont autorisées pour ce paramètre : DeleteAll et DeleteNothing.

InstanceEncodingOption

Spécifie si les informations relatives à l'état de l'instance sont compressées à l'aide de l'algorithme GZip avant leur enregistrement dans le magasin de persistance. Les valeurs possibles sont GZip et None.

InstanceLockedExceptionAction

Spécifie l'action que doit effectuer un hôte de service lorsqu'il reçoit une exception InstanceLockedException alors qu'il tente de verrouiller une instance de service de flux de travail verrouillée par un autre hôte. Les options suivantes sont autorisées pour ce champ : NoRetry, BasicRetry et AggressiveRetry. La liste suivante inclut les descriptions de ces trois options :

  • NoRetry. L'hôte de service ne tente pas de verrouiller l'instance de service de flux de travail et transmet la valeur InstanceLockedException à l'appelant. Si votre flux de travail reste en mémoire pendant plus de 60 secondes, optez pour NoRetry. La valeur par défaut est NoRetry.

  • BasicRetry. L'hôte de service tente à nouveau de verrouiller l'instance de service de flux de travail avec un intervalle linéaire entre les tentatives et transmet l'exception InstanceLockedException à l'appelant à la fin de la séquence. Si votre flux de travail reste en mémoire entre 5 et 60 secondes, et que les messages arrivent par lots de telle sorte qu'il est plus probable qu'ils soient envoyés à une même instance sur un même hôte pour traiter tous les messages avant le déchargement du flux de travail, utilisez BasicRetry pour obtenir une latence optimale sans gaspiller de ressources.

  • AggressiveRetry. L'hôte de service tente à nouveau de verrouiller l'instance de service de flux de travail avec un intervalle d'interruption exponentiel entre les tentatives, et transmet l'exception à l'appelant à la fin de la séquence. Si votre flux de travail reste en mémoire pendant une période très courte (inférieure à 5 secondes), ou si la batterie de serveurs Web est de grande taille et la probabilité qu'un autre message soit remis au même hôte très élevée, choisissez AggressiveRetry pour obtenir une latence optimale.

Notes

Avec les options BasicRetry et AggressiveRetry, le délai d'expiration est automatiquement défini sur celui de l'appel et ne peut pas être configuré.

Période de détection des instances exécutables

Spécifie la période après laquelle le magasin d'instances de flux de travail SQL exécute une tâche de détection des instances de flux de travail exécutables ou activables dans la base de données de persistance à l'issue du cycle de détection précédent.

Notes

Vous ne devez transmettre une valeur que pour le paramètre à modifier. Ne transmettez pas de valeurs pour tous les paramètres.

Options de syntaxe de la cmdlet Clear-ASAppSqlServicePersistence

Clear-ASAppSqlServicePersistence -Root

Clear-ASAppSqlServicePersistence -SiteName <String> 

Clear-ASAppSqlServicePersistence -SiteName <String> -VirtualPath <String>] 

Clear-ASAppSqlServicePersistence -Uri <Uri> 

Clear-ASAppSqlServicePersistence -ApplicationObject <ApplicationInfo> 
// Ex: Get-ASApplication -SiteName "Default Web Site" -VirtualPath /SampleApp | Clear-ASAppSqlServicePersistence

Clear-ASAppSqlServicePersistence -ServiceObject <ServiceInfo> 
// Ex: Get-ASApplicationService –SiteName “Default Web Site” –VirtualPath “/SampleApp/SampleService.xamlx” | Clear-ASAppSqlServicePersistence

  2011-12-05