Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    19

    provider di appartenenza personalizzato

    salve a tutti avrei bisogno di qualche chiarimento...
    per creare un provider di appartenenza personalizzato ho creato una classe che erediti dalla classe membershipuser in cui i metodi vengono dichiarati come

    Public Overrides Sub UpdateUser(ByVal user As MembershipUser)

    quello che non riesco a capire è come faccio ad utilizzare il metodo (in questo caso updateuser) fuori della classe in cui si trova se non viene specificata shared?

    ringrazio tutti anticipatamente per le vostre risposte.

  2. #2
    Utente di HTML.it L'avatar di rsdpzed
    Registrato dal
    Aug 2001
    Messaggi
    764
    la classe che devi ereditare è MembershipProvider (e RoleProvider se vuoi anche la gestione dei ruoli personalizzata).

    I metodi di membershipUser sono dei wrapper che utilizzano la classe MembershipProvider per cui non serve ridefinirli.

    Per rispondere alla tua domanda, Da dentro l'applicazione asp.net per tutte le operazioni devi far riferimento alle classi statiche Membership e Role. Queste sono dei proxy verso i provider personalizzati (Le classi citate su che hai ridefinito) che asp.net carica dal web.config nelle sezioni preparate ad-hoc per caricare i provider.

    Se vuoi sfruttare a pieno il provider personalizzato allora MembershipUser va ridefinita ma SOLO A LIVELLO DI PROPRIETA' (e il costruttore) per farla aderire alla tua tabella MembershipUser personalizzata. Giusto per fare un esempio se la tua tabella prevede anche il nome e cognome:
    codice:
    //lo posto in c#
    public class MembershipUser : System.Web.Security.MembershipUser 
    //la classe base la qualifico con il namespace altrimenti fa a botte con la classe derivata
    {
    public string Nome {get;set;}
    public string Cognome{get;set;}
    
    public MembershipUSer(tipo tutti_i_parametri_di_default, string nome, string cognome)
    {
        prop_default = param_default;
        //ecc. ecc.
        Nome = nome;
        Cognome = cognome;
    }
    }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.