我再次需要一些關於從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方法?
任何幫助,非常感謝。
親切的問候,
奧尼爾
更新
感謝您的信息高科技型。我仍然需要解決一個問題。也許我仍然沒有做正確的事情。
我現在正在創建一個MembershipServiceUser的新實例,我們稱之爲msu。 然後分配msu.UserName和msu.Email用戶的詳細信息,在那之後調用
context.MembershipServiceUsers.Remove(msu)
其中上下文是我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左右) so.HasError =真 而這樣的變更? - > RemovedEntities = 1,BU t所以EntitiesInError的結果是「枚舉沒有結果」
再次感謝幫助引導我朝着正確的方向。
感謝您的信息高科技型。 – Neill 2012-02-22 11:00:41
請參閱更新的問題。我卡在那裏,因爲這個評論框太長了 – Neill 2012-02-22 11:07:09
您必須引用從先前查詢返回的對象的同一實例。你不能只是'新'一個。在上下文中搜索要刪除的項目,然後刪除該特定實例。 – 2012-02-22 11:34:59