ProfileModule Class
Manages the creation of the user profile and profile events. This class cannot be inherited.
Namespace: System.Web.Profile
Assembly: System.Web (in System.Web.dll)
The ProfileModule type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | Dispose | Releases all resources used by the ProfileModule. |
![]() | Equals(Object) | Determines whether the specified object is equal to the current object. (Inherited from Object.) |
![]() | GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | Init | Calls initialization code when a ProfileModule object is created. |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object.) |
| Name | Description | |
|---|---|---|
![]() | MigrateAnonymous | Occurs when the anonymous user for a profile logs in. |
![]() | Personalize | Occurs before the user profile is created. |
![]() | ProfileAutoSaving | Occurs at the end of page execution if automatic profile saving is enabled. |
When the user profile is enabled, ASP.NET uses the ProfileModule to create the user profile and store it in the Profile property of the current HttpContext.
The ProfileModule exposes the following events you can handle to configure authentication in your application:
The MigrateAnonymous event, to migrate profile settings from an anonymous profile to an authenticated profile when an anonymous user logs in.
The Personalize event, to customize how the user profile is created.
The ProfileAutoSaving event, to control how the user profile is saved when the AutomaticSaveEnabled property is set to true.
For information about enabling the user profile, see profile Element (ASP.NET Settings Schema).
The following 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 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

