Всем доброго дня! Столкнулся с такой проблемой. Из одного процесса запускаю другой. При этом из главного процесса передаю в виде числовой переменной ID главного процесса. И вот тут я скорее всего что-то не понимаю. Находясь в главном процессе, я считаю, что ID этого процесса можно получить так: int64 MainProcessID = context.ID; Специально вывел на форму этот ID-шник. Равен он 4041. Тут же делаю выборку по базе select * from WorkFlowInstance with(nolock) order by StartDate desc и вижу в верхней строке выборки не 4041, а 4344. Т.е. в реальности только что создался процесс с ID=4344 а не 4041. Вся дальнейшая логика ломается из-за такого не правильного определения MainProcessID. Потому что дочерний процесс по окончании работы пытается отослать родительскому процессу PublicAPI.Processes.WorkFlowInstance.Load(переменная в к-ю передан целочисленный параметр) сообщение "о проделанной работе", но отсылает не процессу с номером 4344, а процессу с номером 4041 (который в общем-то тоже есть, т.е. БЫЛ, т.к. уже завершен). Итак, суть вопроса - как имея context правильно определить Id процесса? Заранее спасибо за помощь!
context.Id это Id объекта контекст, а не Id экземпляра процесса. Id экземпляра будет так context.WorkflowInstance.Id Только непонятно зачем это все, если родительский процесс есть в самом процессе в свойстве context.ParentInstance
Спасибо akarimov! Конечно не понятно, я теперь сам не понимаю зачем именно так сделал - просто я новичок. Все эти мои ошибки все равно пойдут мне на пользу. Еще раз спасибо!