L'idée de base est que j'ai un site web et un workflow. Je dois capturer les clics sur les boutons des pages aspx dans mon flux de travail.capture d'événement webform pour workflow sur le site asp.net
J'ai une solution avec un projet worflow et un projet de site Web, et les fichiers web.config et global.asax ont été configurés pour fonctionner avec WF. Des services de persistance sont également mis en place.
J'ai créé un workflow StateMachine. Il existe plusieurs états (StateActivity) contenant des instances EventDrivenActivity, à l'intérieur desquelles se trouvent des instances HandleExternalEventActivity. Pour configurer ce dernier correctement afin que l'application puisse compiler, j'ai créé une interface décorée avec l'attribut ExternalDataExchange, et exposer les événements nécessaires. J'ai ensuite créé une classe qui a implémenté cette interface.
C'est aussi loin que j'ai eu. Maintenant, je dois connecter la classe à ma page aspx; les événements sur la page doivent déclencher les événements de la classe.
Mon code ressemble à ceci:
<ExternalDataExchange()> _
Public Interface ICatWorkflow
Property RequestId() As Guid
...
Sub requestInfoEmail()
...
Event onReception(ByVal sender As Object, ByVal e As ExternalDataEventArgs)
End Interface
Class MyObject
Implements ICatWorkflow
Public Property RequestId() As Guid Implements ICatWorkflow.RequestId
...
End Property
Public Sub requestInfoEmail() Implements ICatWorkflow.onReception
...
End Sub
Event onReception(ByVal sender As Object, ByVal e As ExternalDataEventArgs)
end class
Sur mon âge de form.aspx, il y a un bouton, et à la page form.aspx.vb, il y a un gestionnaire d'événements correspondant:
Protected Sub btnReception_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Handles btnReception.Click
...
End Sub
Où aller d'ici?