0
我正在使用WF。 我做了一個自定義活動稱爲Draft_Doc:將WF中的活動傳遞給另一個值
public sealed class Draft_Doc : CodeActivity<string>
{
protected override string Execute(CodeActivityContext context)
{
C.Send_Task_Msg(unique_name, "Draft");
return "Draft";
}
}
我犯了一個包含書籤另一項活動。
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