que personalizado personalizada generar educacion definicion caracteristicas basada autenticacion aprendizaje c# .net membership-provider

c# - personalizada - que es el aprendizaje personalizado



Metodología personalizada Método de inicialización del proveedor (3)

No estoy seguro de por qué quiere crear uno nuevo, pero si lo crea usted mismo, tendrá que leer la configuración web y obtener los valores usted mismo para pasar a Initialize () ya que esto se hace fuera de la clase. Sin embargo, estoy seguro de que ya hay un manejador de sección para esta sección, por lo que debería ser solo cuestión de hacer:

MembershipSection section = WebConfigurationManager.GetSection("membership");

Luego encuentre su proveedor y acceda a sus propiedades para construir NameValueCollection. No creo que tenga que escribir ningún código para analizar la sección de configuración.

Aquí está la documentación de MembershipSection en MSDN. Profundiza desde allí.

Al anular el MembershipProvider y llamarlo directamente, ¿hay alguna manera de completar el parámetro de configuración NameValueCollection del método Initialize sin buscar manualmente a través del archivo de configuración para la configuración?

Obviamente, asp.net llama a este Initialize y la configuración se está completando en algún lugar. Implementé mi propio MembershipProvider y funciona bien a través de los controles integrados. Me gustaría crear una nueva instancia de mi proveedor y hacer una llamada directamente, pero realmente no quiero analizar el .config para MembershipProvider, es el nombre de la cadena de conexión y luego la cadena de conexión si ya se está haciendo en algún lugar .


tvanfosson- Gracias por la ayuda. (si tuviera los 15 puntos necesarios, te votaría)

De su enlace pude resolverlo. Resulta que el segundo parámetro para el procedimiento Initialize era la lista de parámetros del proveedor y se podía llegar de la siguiente manera:

string configPath = "~/web.config"; Configuration config = WebConfigurationManager.OpenWebConfiguration(configPath); MembershipSection section = (MembershipSection)config.GetSection("system.web/membership"); ProviderSettingsCollection settings = section.Providers; NameValueCollection membershipParams = settings[section.DefaultProvider].Parameters; Initialize(section.DefaultProvider, membershipParams);


En cualquier caso, no debe crear una instancia de MembershipProvider. Está creando e inicializando por la infraestructura asp.net estándar. Puede acceder a él por código como este:

var customerMembership = Membership.Provider;