我使用带书签的数据库时出错:调用目标抛出了异常

时间:2011-08-22 23:18:52

标签: wcf workflow-foundation-4 bookmarks

我正在研究WF,我正在制作书签。 当我写下以下内容时,我可以很好地放弃这项活动:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Activities;
using System.Activities.Validation;
using Microsoft.VisualBasic.Activities;
using System.Windows;
using System.Data;
using System.Linq;
using SimpleWebDesigner.ServiceReference1;

namespace SimpleWebDesigner.Bookmark_exmple
{
    class newBookmark: NativeActivity
    {

        Service1Client ser = new Service1Client();

        [RequiredArgument]
        public OutArgument<bool> Out_arg { get; set; }//=new OutArgument<string>(output);// { get; set; }

        protected override void Execute(NativeActivityContext context)
        {
            context.CreateBookmark("samename", new BookmarkCallback(OnBookmarkCallback));
        }

        protected override bool CanInduceIdle
        {
            get
            {
                return true;
            }
        }
        void OnBookmarkCallback(NativeActivityContext context, Bookmark bookmark, object val)
        {

            bool approve;
            approve = (bool)ser.get_from_WF(1);
            Out_arg.Set(context, approve);            
        }
    }
}

喜欢这个网页https://skydrive.live.com/?cid=F1FD3CCD21D87C68&id=F1FD3CCD21D87C68%21351&sc=documents

但是当我通过WCF从DB读取和写入时,如下面的代码:

class newBookmark: NativeActivity
{
    Service1Client ser = new Service1Client();
    [RequiredArgument]
    public OutArgument<bool> Out_arg { get; set; }//=new OutArgument<string>(output);// { get; set; }

    void OnBookmarkCallback(NativeActivityContext context, Bookmark bookmark, object val)
    {
        bool approve;
        string exp;
        approve = (bool)ser.get_from_WF(1);
        if (approve == true)
            exp = "momo";
        else
            exp = "yoyo";
        Out_arg.Set(context, exp);
}

当我想删除此活动时它没有显示并弹出窗口,显示以下错误:调用目标抛出了异常

有任何帮助吗? 谢谢。

1 个答案:

答案 0 :(得分:0)

鉴于您提供给我们的最少信息,我所能做的就是猜测该行

Service1Client ser = new Service1Client();

导致你的问题。首先,没有理由在设计时创建Service1Client。此外,它建议您不再需要时将其丢弃。

但是,由于您没有显示完整的活动,我无法真正说出构造函数或CacheMetadata()中的代码是错误的另一个原因。