【发布时间】:2012-02-22 20:50:02
【问题描述】:
在从 silverlight 调用域服务类方法方面,我再次需要一些帮助。
这在某种程度上与我昨天解决的问题有关。再次感谢! 对于那些感兴趣的人,我昨天的问题可以在这里找到:
Using ASP.net membership to get aspnet_Users in silverlight
现在谈谈我当前的问题。
我在名为 MembershipData 的域服务类中有以下方法
[RequiresRole("Managers")]
public void DeleteUser(MembershipServiceUser user)
{
Membership.DeleteUser(user.UserName);
}
- 此代码来自 kylemc 的教程
现在如何从 Silverlight 中调用此方法?
我从昨天的问题了解到
public IEnumerable<MembershipServiceUser> GetAllUsers()
需要通过定义查询来调用,然后运行查询,然后在结果返回时调用 OnGetAllUsersLoaded。
我不确定的是,由于它的返回类型,您是否需要以这种方式调用该方法?
显然 public void DeleteUser(MembershipServiceUser user) 没有返回类型所以不能这样调用。
好像做不到:
MembershipDataContext context = new MembershipDataContext();
MembershipServiceUser user = new MembershipServiceUser();
user.UserName = "bob";
context.DeleteUser(user);
那么我该如何使用 DeleteUser 方法呢?
非常感谢任何帮助。
亲切的问候,
尼尔
更新
感谢 HiTech 提供的信息。我还有一个问题需要解决。也许我仍然没有正确地做某事。
我现在正在创建 MembershipServiceUser 的新实例,我们称之为 msu。 然后分配 msu.UserName 和 msu.Email 用户详细信息,然后调用
context.MembershipServiceUsers.Remove(msu)
context 是我的 MembershipData 域服务上下文,我已经检查过了
context MembershipServiceUsers results
确实有我的用户信息。然后我得到以下错误
“指定的实体不包含在此 EntitySet 中。”
我很肯定 msu 中的数据是正确的,所以关于我为什么会收到此错误的任何想法? 非常感谢
更新 2
我是否走在正确的轨道上,如下所示......
MembershipServiceUser usr = (from a in context.MembershipServiceUsers
where a.UserName == "bob"
select a).First();
context.MembershipServiceUsers.Remove(usr);
context.SubmitChanges(DeleteUser_completed, null);
或者是这样吗?因为在我的回调中 DeleteUser_completed(SubmitOperation 所以) 所以.HasError = true 虽然 ChangeSet -> RemovedEntities = 1,但 EntitiesInError 的结果是“枚举没有结果”
再次感谢您帮助我朝着正确的方向前进。
【问题讨论】:
标签: asp.net silverlight asp.net-membership