基本的な考え方は、Web サイトとワークフローがあるということです。ワークフローで aspx ページからボタンのクリックをキャプチャする必要があります。
ワークフロー プロジェクトと Web サイト プロジェクトを使用したソリューションがあり、web.config と global.asax が WF で動作するように設定されています。永続サービスもセットアップされます。
StateMachine ワークフローを作成しました。EventDrivenActivity インスタンスを含む状態 (StateActivity) がいくつかあり、その中には 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
ここからどこへ行く?