Élément OnEvent de l'intercepteur
L’élément OnEvent décrit un événement réel mappé à l’activité BAM englobante.
Format
L’élément OnEvent
contient des éléments enfants qui spécifient un filtre d’événements, l’ID de corrélation et éventuellement les données à mettre à jour, les données de référence et un jeton de continuation.
Attributs
Nom de l’attribut | Description |
---|---|
Nom | Nom défini par l'utilisateur pour cet événement. |
Source | Nom de la source de l’événement tel qu’il apparaît dans un élément EventSource . |
IsBegin | Valeur booléenne indiquant si l’événement est le début d’une nouvelle activité BAM (true ) ou non (false ). |
IsEnd | Valeur booléenne indiquant si l’événement est la fin d’une activité BAM (true ) ou non (false ). |
Éléments enfants
État de l'exécution | Description |
---|---|
Filtrer | Fournit une méthode permettant de restreindre l'événement à des critères spécifiques. |
CorrelationID | Indique l'ID de corrélation (l'ID de l'instance d'activité). |
ContinuationToken | Spécifie le jeton de liaison, c'est-à-dire un ID de corrélation utilisé par des événements futurs qui contribueront à la même instance d'activité. |
Update | Spécifie les données à extraire de l'événement et à importer dans l'activité BAM. |
Référence | Ajoute une relation à une activité BAM. |
Notes
Exemple
L’exemple suivant montre un bloc OnEvent classique pour WF :
<ic:OnEvent Name="BeginAct" IsBegin="true" Source="ResWF">
<ic:Filter>
<ic:Expression>
<wf:Operation Name="GetActivityName"/>
<ic:Operation Name="Constant">
<ic:Argument>FoodAndDrinksPolicy</ic:Argument>
</ic:Operation>
<ic:Operation Name="Equals"/>
<wf:Operation Name="GetActivityEvent"/>
<ic:Operation Name="Constant">
<ic:Argument>Closed</ic:Argument>
</ic:Operation>
<ic:Operation Name="Equals"/>
<ic:Operation Name="And"/>
</ic:Expression>
</ic:Filter>
<ic:CorrelationID>
<ic:Expression>
<wf:Operation Name="GetContextProperty">
<wf:Argument>InstanceId</wf:Argument>
</wf:Operation>
</ic:Expression>
</ic:CorrelationID>
<ic:Update DataItemName="StartOrderProcessing" Type="DATETIME">
<ic:Expression>
<wf:Operation Name="GetContextProperty">
<wf:Argument>EventTime</wf:Argument>
</wf:Operation>
</ic:Expression>
</ic:Update>
<ic:Update DataItemName="FoodItem" Type="NVARCHAR">
<ic:Expression>
<wf:Operation Name="GetWorkflowProperty">
<wf:Argument>foodItem</wf:Argument>
</wf:Operation>
</ic:Expression>
</ic:Update>
</ic:OnEvent>
Cet exemple montre un bloc OnEvent classique pour le service WCF :
<ic:OnEvent IsBegin="true" IsEnd ="false" Name ="AuthorizationRequestService" Source="ESCreditCardService">
<ic:Filter>
<ic:Expression>
<wcf:Operation Name="GetServiceContractCallPoint"/>
<ic:Operation Name ="Constant">
<ic:Argument>ServiceRequest</ic:Argument>
</ic:Operation>
<ic:Operation Name ="Equals"/>
<wcf:Operation Name="GetOperationName" />
<ic:Operation Name="Constant">
<ic:Argument>AuthorizeWithDataContract</ic:Argument>
</ic:Operation>
<ic:Operation Name ="Equals" />
<ic:Operation Name ="And" />
</ic:Expression>
</ic:Filter>
<ic:CorrelationID>
<ic:Expression>
<ic:Operation Name="Constant">
<ic:Argument>ServiceRequest</ic:Argument>
</ic:Operation>
</ic:Expression>
</ic:CorrelationID>
<ic:Update DataItemName="Name" Type="NVARCHAR">
<ic:Expression>
<wcf:Operation Name="XPath">
<wcf:Argument>//s:Body/ccservice:*/ccservice:creditCard/creditcard:FirstName</wcf:Argument>
</wcf:Operation>
<wcf:Operation Name="XPath">
<wcf:Argument>//s:Body/ccservice:*/ccservice:creditCard/creditcard:LastName</wcf:Argument>
</wcf:Operation>
<ic:Operation Name ="Concatenate"/>
</ic:Expression>
</ic:Update>
</ic:OnEvent>