Основная идея заключается в том, что у меня есть веб-сайт и рабочий процесс. Мне нужно захватывать нажатия кнопок со страниц aspx в моем рабочем процессе.
У меня есть решение с проектом worflow и проектом веб-сайта, а web.config и global.asax настроены для работы с WF. Постоянные службы также созданы.
Я создал рабочий процесс StateMachine. Существует несколько состояний (StateActivity), содержащих экземпляры EventDrivenActivity, внутри которых находятся экземпляры HandleExternalEventActivity. Чтобы правильно настроить последний, чтобы приложение могло компилироваться, я создал интерфейс, украшенный атрибутом ExternalDataExchange, и выставил необходимые события. Затем я создал класс, который реализовал этот интерфейс.
Это насколько я понял. Теперь мне нужно подключить класс к моей странице aspx; события на странице должны вызывать события в классе.
Мой код выглядит примерно так:
<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
В моем form.aspx âge есть кнопка, а на странице form.aspx.vb есть соответствующий обработчик события:
Protected Sub btnReception_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Handles btnReception.Click
...
End Sub
Куда пойти отсюда?