2011-04-05 75 views
0

我沒有找到任何ASP.NET成員資格的完整搜索。 例如,我要搜索用戶與這個細節: 用戶名,創建日期,上次活動日期,上次登錄日期,電子郵件,IsUserOnline,IsApproved,IsLockedOut,之所以有這個角色,已經不是這個角色。 我有加載RAM中的所有用戶並過濾它們服務器端? 這種方式表現不佳。 有沒有更好的存在?ASP.NET成員搜索

回答

1

Membership沒有爲你問的是一個提供搜索功能。

您可以使用Membership.FindUsersByName,Membership.GetUserNameByEmail和更多,你可以找到msdn,但不是其他。

如果您有存儲在你的web.config文件少數用戶,則只需加載所有這些,使搜索就像你說的。

如果從您使用數據庫另一方面,就可以連接到數據庫並獲取您的信息您可以通過簡單的SQL查詢要求。

+0

所以我會寫存儲過程我的自定義搜索,但沒有任何書面存在嗎? – Shahin 2011-04-05 13:34:41

+1

@shaahin,也許如果你google一下就可以發現,但它真的這麼簡單,例如:SELECT * FROM aspnet_Membership WHERE的applicationID =「YourAppIdForThis」 AND IsLockedOut = 1個 – Aristos 2011-04-05 13:39:27

+0

@shaahin當你創建你看到表的數據庫,有真的很簡單。 – Aristos 2011-04-05 13:39:58

2

如果會員框架沒有提供你需要,你可以實現自定義的成員提供它提供了你所需要的特定功能完整的搜索功能。

如果工作太多,那麼只需滾動一些存儲過程即可自行查詢數據庫並在需要時調用它們。它並不像將所有東西放在一個地方那樣整潔,但架構非常簡單。

Implementing a Membership Provider