This topic has not yet been rated - Rate this topic

ProfileProviderAttribute Class

Identifies the profile provider for a user-profile property.

Namespace:  System.Web.Profile
Assembly:  System.Web (in System.Web.dll)
[AttributeUsageAttribute(AttributeTargets.Property)]
[AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
public sealed class ProfileProviderAttribute : Attribute

The ProfileProviderAttribute class is used to identify the profile provider for a property of a custom profile implementation. A custom profile implementation is a class that inherits from the ProfileBase abstract class and defines properties for the user profile that are not specified in the profile configuration element. You can specify a custom type for the user profile using the inherits attribute of the profile configuration element in the Web.config file for an application, as shown in the following example.

<configuration>
  <connectionStrings>
    <add name="SqlServices" connectionString=
      "Data Source=localhost;Integrated Security=SSPI;Initial Catalog=aspnetdb;" />
  </connectionStrings>

  <system.web>
    <authentication mode="Forms" >
      <forms loginUrl="login.aspx"
        name=".ASPXFORMSAUTH" />
    </authentication>

    <authorization>
      <deny users="?" />
    </authorization>

    <profile inherits="Samples.AspNet.Profile.EmployeeProfile"
      defaultProvider="SqlProvider">
      <providers>
        <clear />
        <add
          name="SqlProvider"
          type="System.Web.Profile.SqlProfileProvider" 
          connectionStringName="SqlServices" 
          description="SQL Profile Provider for Sample"/> 
        <add
          name="EmployeeInfoProvider"
          type="System.Web.Profile.SqlProfileProvider" 
          connectionStringName="SqlServices" 
          description="SQL Profile Provider for Employee Info"/> 
      </providers>

      <properties>
        <add name="GarmentSize" />
      </properties>
    </profile>
  </system.web>
</configuration>

The following code example defines a class that inherits from the ProfileBase class to create a custom profile. The type of the custom profile is specified in the inherits attribute of the profile configuration element in the Web.config file for an application.

using System;
using System.Web.Profile;

namespace Samples.AspNet.Profile
{
  public class EmployeeProfile : ProfileBase
  {
    [SettingsAllowAnonymous(false)]
    [ProfileProvider("EmployeeInfoProvider")]
    public string Department
    {
      get { return base["EmployeeDepartment"].ToString(); }
      set { base["EmployeeDepartment"] = value; }
    }

    [SettingsAllowAnonymous(false)]
    [ProfileProvider("EmployeeInfoProvider")]
    public EmployeeInfo Details
    {
      get { return (EmployeeInfo)base["EmployeeInfo"]; }
      set { base["EmployeeInfo"] = value; }
    }

  }

  public class EmployeeInfo
  {
    public string Name;
    public string Address;
    public string Phone;
    public string EmergencyContactName;
    public string EmergencyContactAddress;
    public string EmergencyContactPhone;
  }
}
System.Object
  System.Attribute
    System.Web.Profile.ProfileProviderAttribute
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

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

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0
Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft. All rights reserved.