我已經爲C#.NET 4.0創建了一個自定義RoleProvider。我已經實現了所有必需的方法,並且我還添加了一些我自己的方法。我已將Web.config更改爲使用我的自定義RoleProvider,但我無法調用任何自定義方法。例如,我已經添加下面的方法到我的自定義RoleProvider:無法從自定義RoleProvider調用方法
public void Myfunc(string user)
{
var a = user;
}
然而,當我嘗試使用該剪斷調用的方法:
Roles.MyFunc("testuser");
我沒有爲MYFUNC獲得智能函數和VS給我的錯誤「System.Web.Security.RoleProvider的未知方法Myfunc。我可以告訴我的自定義RoleProvider正在加載,因爲我可以在必需/重寫的方法之一中設置斷點,並且它擊中了自定義RoleProvider 。但是我怎樣才能調用我的RoleProvider的自定義函數呢?
我遇到了'MembershipProvider'的類似問題,並且實現了可以通過Membership.Provider.MyExtensionMethod()調用我的函數的擴展方法。要用'RoleProvider'做同樣的事情,你可以像這樣調用擴展'Roles.Provider.MyExtensionMethod()' –
這很有效,但我認爲我簡化了這個問題......我不確定角色是什麼。但在.NET框架文檔中,我看到他們是如何打電話給提供者的。提供程序由.NET實例化爲web.config中的值,因此我從不顯式實例化它,它由框架完成。 – solidau
角色是框架中的靜態類。 System.Web.Security.Roles.i有這個相同的問題。如何擴展RoleProvider類並添加我自己的自定義方法? – superartsy