ProfileModule.MigrateAnonymous Evento
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Se produce cuando el usuario anónimo para un perfil inicia sesión.
public:
event System::Web::Profile::ProfileMigrateEventHandler ^ MigrateAnonymous;
public event System.Web.Profile.ProfileMigrateEventHandler MigrateAnonymous;
member this.MigrateAnonymous : System.Web.Profile.ProfileMigrateEventHandler
Public Custom Event MigrateAnonymous As ProfileMigrateEventHandler
Tipo de evento
Ejemplos
En el ejemplo siguiente se muestra un archivo Web.config que permite la identificación anónima y las propiedades de perfil que admiten usuarios anónimos.
<configuration>
<system.web>
<authentication mode="Forms" >
<forms loginUrl="login.aspx" name=".ASPXFORMSAUTH" />
</authentication>
<anonymousIdentification enabled="true" />
<profile enabled="true" defaultProvider="AspNetSqlProvider">
<properties>
<add name="ZipCode" allowAnonymous="true" />
<add name="CityAndState" allowAnonymous="true" />
<add name="StockSymbols" type="System.Collections.ArrayList" allowAnonymous="true" />
</properties>
</profile>
</system.web>
</configuration>
En el ejemplo de código siguiente se muestra el MigrateAnonymous evento incluido en el archivo Global.asax para una aplicación de ASP.NET. El MigrateAnonymous evento copia los valores de propiedad de perfil del perfil anónimo en el perfil del usuario actual.
public void Profile_OnMigrateAnonymous(object sender, ProfileMigrateEventArgs args)
{
ProfileCommon anonymousProfile = Profile.GetProfile(args.AnonymousID);
Profile.ZipCode = anonymousProfile.ZipCode;
Profile.CityAndState = anonymousProfile.CityAndState;
Profile.StockSymbols = anonymousProfile.StockSymbols;
////////
// Delete the anonymous profile. If the anonymous ID is not
// needed in the rest of the site, remove the anonymous cookie.
ProfileManager.DeleteProfile(args.AnonymousID);
AnonymousIdentificationModule.ClearAnonymousIdentifier();
// Delete the user row that was created for the anonymous user.
Membership.DeleteUser(args.AnonymousID, true);
}
Public Sub Profile_OnMigrateAnonymous(sender As Object, args As ProfileMigrateEventArgs)
Dim anonymousProfile As ProfileCommon = Profile.GetProfile(args.AnonymousID)
Profile.ZipCode = anonymousProfile.ZipCode
Profile.CityAndState = anonymousProfile.CityAndState
Profile.StockSymbols = anonymousProfile.StockSymbols
''''''''
' Delete the anonymous profile. If the anonymous ID is not
' needed in the rest of the site, remove the anonymous cookie.
ProfileManager.DeleteProfile(args.AnonymousID)
AnonymousIdentificationModule.ClearAnonymousIdentifier()
' Delete the user row that was created for the anonymous user.
Membership.DeleteUser(args.AnonymousID, True)
End Sub
Comentarios
Puede acceder al MigrateAnonymous evento de la ProfileModule clase en el archivo Global.asax de la aplicación de ASP.NET mediante el Profile_MigrateAnonymous
evento global, como se muestra en el ejemplo de este tema.
Puede usar el MigrateAnonymous evento para copiar valores de propiedad de perfil de un perfil anónimo en un perfil autenticado cuando un usuario que ha estado anónimo usando los registros de la aplicación.
Cuando se inicia una aplicación que tiene habilitado el perfil de usuario, ASP.NET crea una nueva clase de tipo ProfileCommon
, que hereda de la ProfileBase clase . Los descriptores de acceso fuertemente tipados se agregan a la ProfileCommon
clase para cada propiedad definida en la sección de configuración del <perfil> . Un GetProfile
método permite recuperar un ProfileCommon
objeto basado en un nombre de usuario. Puede usar el GetProfile
método del perfil actual autenticado para recuperar los valores de propiedad del perfil anónimo. A continuación, los valores de propiedad anónimos se pueden copiar en el perfil actual para el usuario autenticado.