ProfileMigrateEventArgs.AnonymousID Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets the anonymous identifier for the anonymous profile from which to migrate profile property values.
public:
property System::String ^ AnonymousID { System::String ^ get(); };
public string AnonymousID { get; }
member this.AnonymousID : string
Public ReadOnly Property AnonymousID As String
Property Value
The anonymous identifier for the anonymous profile from which to migrate profile property values.
Examples
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);
}
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
Remarks
The AnonymousID property contains the unique identifier for an anonymous user. When someone who has been using your application anonymously logs in, you can handle the MigrateAnonymous event to copy profile property values from the user's anonymous profile to their authenticated profile.
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 and includes profile properties specified in the Web.config file. When the ProfileCommon
class is generated, 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. See the second code example for an example of copying anonymous property values.