Ошибка при использовании БД с закладкой: исключение было выдано целью вызова - PullRequest
1 голос
/ 23 августа 2011

Я работаю над 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, как следующий код:

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 голосов
/ 23 августа 2011

Учитывая минимальную информацию, которую вы предоставляете нам, все, что я могу сделать, - это предположить, что строка

Service1Client ser = new Service1Client();

вызывает ваши проблемы.Во-первых, нет причин создавать Service1Client во время разработки.Кроме того, он предполагает, что вы не избавляетесь от него, когда он больше не нужен.

Однако, поскольку вы не отображаете полное действие, я не могу сказать, что в конструкторе или CacheMetadata () есть коддополнительная причина для ошибок.

...