在workflow中,无法为实例 ID“...”传递接口类型“...”上的事件“...” 问题的解决方法。...
搭建自己的WF程序時碰到這樣的錯誤:無法為實例 ID“b6badb4d-5955-4d2c-8e10-bf51fb0c6f56”傳遞接口類型“Land.Workflow.LocalService.ICaseService”上的事件“Create”。
搜了下,基本上都是這樣的說法:把WaitForIdle 屬性設置為true即可,如:args.WaitForIdle = true; 照做還是不行。
通過仔細研究發現,我們的一般會這樣自定義自己的消息類型:[Serializable]
public class CaseEventArgs : ExternalDataEventArgs
{
public CaseEventArgs(Guid instanceId)
: base(instanceId)
{
}
public CaseEventArgs(Guid instanceId, Case _case) :
base(instanceId)
{
this.Case = _case;
}
public Case Case
{
get;
set;
}
}
public class Case
{
}
CaseEventArgs?的[Serializable]是必須加的,這地球人都知道。
但是Case如果不加[Serializable]屬性同樣會出現無法傳遞事件錯誤。改成這樣即可:[Serializable]public class Case
{
...
}
也就是CaseEventArgs中屬性設涉及到的實體,必須都可序列化,因為其本身可序列化。
總結
以上是生活随笔為你收集整理的在workflow中,无法为实例 ID“...”传递接口类型“...”上的事件“...” 问题的解决方法。...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IAsyncResult异步设计
- 下一篇: 欣马酒怎么样 品鉴欣马酒的口感和特点?