首页 新闻 会员 周边 捐助

WCF Ria Service使用InvokeOperation提示找不到该方法,详情看代码

0
悬赏园豆:50 [已关闭问题] 关闭于 2011-11-03 12:37

在DataService.cs中,有方法:

 public IQueryable<TabUser> GetTabUser()
        {
            return this.ObjectContext.TabUser;
        }

  [Invoke]
        public int GetTabUserCount(string userName)
        {
            var result = from a in ObjectContext.TabUser
                         where a.Name.Contains(userName)
                         select a.ID;
            return  int.Parse(result.Count().ToString());
        }

在silverlight页面的调用代码:

    public void SelectTabUser()
        {
            dc.Load(dc.GetTabUser(), OnSelectTabUser, null);
        }        

        public void GetUserPageCount(string UserName)
        {
            dc.GetUserPageCount(UserName,OnGetUserPageCount, null);
           
        }

        private void OnSelectTabUser(LoadOperation<TabUser> lop)
        {
            if (lop.HasError)
            {
                MessageBox.Show(string.Format("错误提示: {0}", lop.Error.Message));
                lop.MarkErrorAsHandled();
            }
            else
            {
                TabUser = lop.Entities;               
            }
        }

        private void OnGetUserPageCount(InvokeOperation<int> invOp)
        {
            if (invOp.HasError)
            {
                MessageBox.Show(string.Format("错误提示: {0}", invOp.Error.Message));
                invOp.MarkErrorAsHandled();
            }
            else
            {
                int pageCount = invOp.Value;
            }
        }

调用SelectTabUser方法的时候放回的数据是正确的,但是调用GetUserPageCount方法的时候,invOp.Error.Message提示Invoke operation 'GetUserPageCount' fail。请高手指点究竟哪里代码出现问题了,帮忙解决此问题!!

植辉的主页 植辉 | 初学一级 | 园豆:39
提问于:2011-06-05 00:01
< >
分享
所有回答(2)
0

以前遇到过,好像是方法名字的问题,换个名字试试

WCF RIA Service有自己的一些约定,有时一些名字在sl的生成代码中处理不对

2012 | 园豆:21445 (高人七级) | 2011-06-08 17:41
0

应该是你dataService里面的方法的问题

蓦然回首的思念 | 园豆:900 (小虾三级) | 2011-06-08 19:15
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册