Export (0) Print
Expand All

ProfileMigrateEventHandler Delegate

Represents the method that will handle the MigrateAnonymous event of the ProfileModule class.

Namespace: System.Web.Profile
Assembly: System.Web (in system.web.dll)

public delegate void ProfileMigrateEventHandler (
	Object sender,
	ProfileMigrateEventArgs e
)
/** @delegate */
public delegate void ProfileMigrateEventHandler (
	Object sender, 
	ProfileMigrateEventArgs e
)
Not applicable.

Parameters

sender

The ProfileModule that raised the MigrateAnonymous event.

e

A ProfileMigrateEventArgs that contains the event data.

The ProfileMigrateEventHandler delegate is defined for the MigrateAnonymous event of the ProfileModule class. You can access the MigrateAnonymous event of the ProfileModule class in the Global.asax file for your ASP.NET application as shown in the example for this topic.

You can use the MigrateAnonymous event to copy profile property values from an anonymous profile to an authenticated profile when someone who has been anonymously using your application logs in.

When an application that has the user profile enabled is started, ASP.NET creates a new class of type ProfileCommon, which inherits from the ProfileBase class. When the ProfileCommon class is generated, based on the profile properties specified in the Web.config file, a GetProfile method is added that enables you to retrieve a ProfileCommon object based on a user name. You can use the GetProfile method of the current profile to retrieve the property values of the anonymous profile. The anonymous property values can then be copied to the current profile for the authenticated user.

The following code examples show a Web.config file that enables anonymous authentication and the MigrateAnonymous event included in the Global.asax file for an ASP.NET application.

The following code example shows a Web.config file that enables anonymous identification and profile properties that support anonymous users.

<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>

The following code example shows the MigrateAnonymous event included in the Global.asax file for an ASP.NET application. The MigrateAnonymous event copies profile property values from the anonymous profile to the profile for the current user.

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);

}

Windows 98, Windows Server 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0

Community Additions

ADD
Show:
© 2014 Microsoft