2012-07-12 168 views
1

我想知道是否可以通過代碼而不是通過配置文件設置默認的成員資格提供程序(Membership.Provider)。ASP.Net以編程方式設置Membership.Provider

+0

什麼是這樣操作的目的是什麼? – 2012-07-12 07:32:34

+0

這可能有幫助。您可以將它們添加到配置文件中,然後選擇在運行時運行哪個。我想你也可以使用自己的自定義類,如果你想要(而只要它繼承MembershipProvider當然)... http://stackoverflow.com/questions/10496647/set-active-membership-provider-programmatically – Theo 2012-07-12 07:34:17

+0

我認爲@ Theo是你最好的選擇。您可以創建一個代理成員資格提供程序,根據您的任何標準使用您所需的成員資格提供程序。 – 2012-07-12 12:01:53

回答

1

這不是你的問題的直接方法。相反,實現自定義成員資格提供程序,並使用IoC container(例如,Enterprise Library Unity)在運行時注入渴望類。

例如,

public override MembershipUser GetUser(string username, bool userIsOnline) 
{ 
    var user = IoC.Resolve<IUserService>().GetUserByUsername(username, userIsOnline); 
}