Wo ist GetAllUsers im Mitgliedschaftsanbieter?

8

Ich habe mir die Dokumentation des Mitgliedschaftsanbieters angeschaut und es sollte zwei GetAllUsers-Methode im Mitgliedschaftsprovider geben ( Ссылка ).

Aber wenn ich mir Methoden anschaue, die von System.Web.Security (in

%Vor%

Es gibt nur eine Methode (die eine Paging-Funktion hat).

Wo finde ich eine Methode, um alle Benutzer aus der Datenbank zurückzugeben? Es scheint, dass es keine Möglichkeit gibt, eine Liste aller Benutzer zu erhalten oder herauszufinden, wie viele Benutzer sich in der Datenbank befinden.

- Aktualisieren

Beim Betrachten von System.Web.Security habe ich festgestellt, dass SqlMembershipProvider wie folgt definiert ist:

%Vor%

, aber diese Klasse hat keine öffentliche GetAllUsers () -Methode.

Wie kann ich auf die Basis-GetAllUsers-Methode zugreifen?

    
mans 18.05.2012, 09:31
quelle

3 Antworten

0

Ich denke, Sie sollten in der System.Web.dll nicht System.Web.ApplicationServices.dll suchen

    
bwbrowning 18.05.2012 10:18
quelle
0

So funktioniert es, dass Sie Ihren Mitgliedschaftsanbieter wie SqlMembershipProvider , konfiguriert in Ihrem web.config . Die Membership.GetAllUsers -Methode nimmt dann die standardmäßig konfigurierte MembershipProvider und ruft ihre Methode GetAllUsers und übergeben in 0 für die aktueller Seitenindex und int.MaxValue für die Gesamtzahl der Datensätze pro Seite (sowie out int , um die Gesamtzahl der Datensätze im Geschäft zu ermitteln).

Wenn Sie beim Aufruf dieser Methode Probleme haben, überprüfen Sie Folgendes:

  • Sie haben die richtigen .net-Assemblies, auf die verwiesen wird
    • System.Web
    • System.Web.ApplicationServices
    • System.Configuration
  • Sie haben entweder den richtigen Namespace, auf den System.Web.Security verweist
    • In Ihren using -Anweisungen am Anfang der Datei
    • Direkt auf den Typ, auf den verwiesen wird
  • Ihr web.config hat einen registrierten Standard MembershipProvider

Notizen

  • SqlMembershipProvider , das von% co_de stammt %, ist nicht dieselbe Typ- oder Typhierarchie wie der Typ MembershipProvider . Daher können nicht alle Methoden, die Sie in Membership sehen, auf Typen gefunden werden, die von Membership stammen.
  • Der Typ MembershipProvider ist statisch und daher sind alle seine Mitglieder einschließlich Membership.GetAllUsers statisch gut.
  • Der Typ Membership ist zur Bequemlichkeit da, die meisten Mitglieder rufen den registrierten Standard Membership .
  • auf

Codebeispiel:

%Vor%

Aus der Dokumentation

  

Bemerkungen

     

GetAllUsers gibt die Informationen für alle Mitgliedschaftsbenutzer für eine Anwendung als eine Sammlung von MembershipUser-Objekten zurück. Seien Sie vorsichtig, wenn Sie die GetAllUsers-Methode mit sehr großen Benutzerdatenbanken verwenden, da die resultierende MembershipUserCollection in Ihrer ASP.NET-Seite die Leistung Ihrer Anwendung beeinträchtigen kann.

    
Igor 19.04.2016 10:15
quelle
0

Die Frage lautet "Wo ist GetAllUsers im Mitgliedschaftsanbieter?"

Die Antwort ist, dass es nicht im MembershipProvider ist. Es ist in System.Web.Security.Membership

Der MSDN-Link, den Sie in Ihrer Frage angegeben haben, sagt das Gleiche.

Die Methode GetAllUsers ist statisch und überladen.

%Vor%

Wenn Sie Probleme mit dem Namespace haben, haben sie einige Dinge zwischen .net 3.5 und .net 4.0

verschoben

Das hat mich vor ein paar Jahren gebissen.

.Net 4.0 System.Web.Security.MembershipProvider mehrdeutig Referenz?

    
ListenFirst 22.04.2016 17:51
quelle