0
WF에서 작업하고 있습니다.WF에서 활동 값을 다른 값으로 전달
public sealed class Draft_Doc : CodeActivity<string>
{
protected override string Execute(CodeActivityContext context)
{
C.Send_Task_Msg(unique_name, "Draft");
return "Draft";
}
}
내가 책갈피를 포함하는 다른 활동을했다 : 나는 사용자 지정 활동이라고 Draft_Doc했다.
public sealed class WaitingTheApproval : NativeActivity
{
WorkflowInstanceProxy instance;
Service1Client C = new Service1Client();
public InArgument<string> previous_stage { get; set; }
public string stageName;
protected override void CacheMetadata(NativeActivityMetadata metadata)
{
base.CacheMetadata(metadata);
metadata.AddDefaultExtensionProvider<MyExtension>(() => new MyExtension());
//RuntimeArgument argSql = new RuntimeArgument("SqlConnectionString", typeof(String), ArgumentDirection.In);
}
protected override bool CanInduceIdle
{
get { return true; }
}
protected override void Execute(NativeActivityContext context)
{
var bookmark = context.CreateBookmark("MyBookmark", BookmarkResumed);
var extension = context.GetExtension<MyExtension>();
instance = extension._instance;
stageName = context.GetValue(this.previous_stage);
stageName = previous_stage.Get(context);
WaitSome(bookmark);
}
}
내가 원하는 것은 내가이 두 가지 활동을 리 호스트 된 작업 흐름으로 끌어다 놓을 때입니다. 먼저 Draft_Doc을 드래그하고 WaitingTheApproval을 연결합니다.
그래서 런타임시 WaitingTheApproval의 InArgument previous_stage에 설정된 Draft_Doc의 반환 값을 원합니다. Anyhelp?
수정 후 답변? :) – Sofy
죄송합니다, 당신이 무엇을 하려는지 확실하지 않습니다. 당신이하고있는 일을 자세하게 설명하는 코드가 있지만 너무 많고 충분하지 않습니다. 나는 당신이 요구하는 것과 같은 것을 이해한다. (디자인 표면에 떨어 뜨릴 때 자동으로 액티비티를 연결한다.) 그러나 이것을 수행하는 * 방법이있다. 그 중 일부는 꽤 복잡하다. (예, IActivityTemplateFactory를 구현하고 현재 워크 플로우). 당신이 정상적으로 작업 할 때 프로토 타입을 만들면 * 달성해야 할 작업을 정확하게 수행 할 수 있습니다. 그것은 내 질문에 가능한 한 절대적으로 분명하게 해줍니다. – Will