ProfileProviderAttribute Class

 

Identifies the profile provider for a user-profile property.

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

System.Object
  System.Attribute
    System.Web.Profile.ProfileProviderAttribute

[AttributeUsageAttribute(AttributeTargets.Property)]
public sealed class ProfileProviderAttribute : Attribute

NameDescription
System_CAPS_pubmethodProfileProviderAttribute(String)

Creates a new instance of the ProfileProviderAttribute class with the specified profile provider name.

NameDescription
System_CAPS_pubpropertyProviderName

Gets the name of the profile provider for the user-profile property.

System_CAPS_pubpropertyTypeId

When implemented in a derived class, gets a unique identifier for this Attribute.(Inherited from Attribute.)

NameDescription
System_CAPS_pubmethodEquals(Object)

This API supports the product infrastructure and is not intended to be used directly from your code. Returns a value that indicates whether this instance is equal to a specified object.(Inherited from Attribute.)

System_CAPS_pubmethodGetHashCode()

Returns the hash code for this instance.(Inherited from Attribute.)

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_pubmethodIsDefaultAttribute()

When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.(Inherited from Attribute.)

System_CAPS_pubmethodMatch(Object)

When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.(Inherited from Attribute.)

System_CAPS_pubmethodToString()

Returns a string that represents the current object.(Inherited from Object.)

NameDescription
System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Maps a set of names to a corresponding set of dispatch identifiers.(Inherited from Attribute.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Retrieves the type information for an object, which can be used to get the type information for an interface.(Inherited from Attribute.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfoCount(UInt32)

Retrieves the number of type information interfaces that an object provides (either 0 or 1).(Inherited from Attribute.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Provides access to properties and methods exposed by an object.(Inherited from 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 configuration element. You can specify a custom type for the user profile using the inherits attribute of the 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 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;
  }
}

.NET Framework
Available since 2.0

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

Return to top
Show: