私の質問がばかげているように見える場合はご容赦ください。しかし、私はワークフローにまったく慣れていません。私がやろうとしていることは、Workflow Foundationプロジェクト内にいくつかのデータベースヒットがあり、ASP.NETアプリケーション内にいくつかのデータベースヒットがあることです。私が達成しようとしているのは、同じトランザクションでWorkflowFoundationとASP.NET内でデータベース操作を実行することです。可能ですか?linq2sqlを使用しています。
これが私のコードです:
using(var context = new MyDBContext())
{
context.Transaction = context.Connection.BeginTransaction();
//Here I am calling my Workflow function
using (WorkflowRuntime workflowRuntime = new WorkflowRuntime())
{
AutoResetEvent waitHandle = new AutoResetEvent(false);
workflowRuntime.WorkflowCompleted += delegate(object sender, WorkflowCompletedEventArgs e)
{
waitHandle.Set();
if ((string)e.OutputParameters["OutputMessage"] != "")
msg = "Workflow error : " + (string)e.OutputParameters["OutputMessage"];
};
workflowRuntime.WorkflowTerminated += delegate(object sender, WorkflowTerminatedEventArgs e)
{
Console.WriteLine("ERROR: " + e.Exception.Message);
waitHandle.Set();
};
WorkflowInstance instance = workflowRuntime.CreateWorkflow(typeof(MyWorkflow), parameters);
instance.Start();
waitHandle.WaitOne();
}
//DB Operation in ASP.NET
context.DbOperation();
context.SubmitChanges();
context.Transaction.Commit();
}