Export (0) Print
Expand All

ProfileModule Class

Manages the creation of the user profile and profile events. This class cannot be inherited.

System.Object
  System.Web.Profile.ProfileModule

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

public sealed class ProfileModule : IHttpModule

The ProfileModule type exposes the following members.

  NameDescription
Public methodProfileModuleInitializes a new instance of the ProfileModule class.
Top

  NameDescription
Public methodDisposeReleases all resources used by the ProfileModule.
Public methodEquals(Object)Determines whether the specified object is equal to the current object. (Inherited from Object.)
Public methodGetHashCodeServes as the default hash function. (Inherited from Object.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Public methodInitCalls initialization code when a ProfileModule object is created.
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)
Top

  NameDescription
Public eventMigrateAnonymousOccurs when the anonymous user for a profile logs in.
Public eventPersonalizeOccurs before the user profile is created.
Public eventProfileAutoSavingOccurs at the end of page execution if automatic profile saving is enabled.
Top

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

}

.NET Framework

Supported in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

Windows 8.1, Windows Server 2012 R2, 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.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Show:
© 2014 Microsoft