This documentation is archived and is not being maintained.

ProfileServiceManager Class

Configures a set of preloaded profile properties and the location of a custom implementation of the profile service.

Namespace:  System.Web.UI
Assembly:  System.Web.Extensions (in System.Web.Extensions.dll)

[AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
public class ProfileServiceManager

The ProfileServiceManager class corresponds to the ProfileService property that can be added to the ScriptManager or ScriptManagerProxy control.

You can use ProfileServiceManager to specify a set of profile properties that will be preloaded when the page is rendered and will be available to client script. Also, instead of using the built-in profile Web service provided by AJAX features of ASP.NET, you can use this class to provide the path of an alternative implementation of the Web service that will be used for loading or saving profile properties from script.

To use the profile service in your application, you must enable it in the configuration file. If you use the built-in profile Web service and do not have to preload properties, you do not have to explicitly declare the profile service manager on the page.

To declaratively specify a set of preloaded properties, or a custom profile Web service, include a <ProfileService> element inside the <asp:ScriptManager> element on the page, as shown in the following example.

<asp:ScriptManager ID="SM1" runat="server">
  <ProfileService LoadProperties="propertyA,propertyB" Path="MyProfileService.asmx" />

You can also programmatically configure the profile service to preload properties or to use a custom profile Web service.

The following example shows the basic class structure that must be implemented in a custom profile Web service.

<%@ WebService Language="C#" Class="MyProfileService" %>

using System.Web.Services;
using System.Collections.Generic;
using System.Web.Script.Services;

public class MyProfileService  : System.Web.Services.WebService 

    // Returns a dictionary containing a name-value 
    // pair for all profile properties enabled for 
    // read access found on the current users profile.
    public IDictionary<string, object> GetAllPropertiesForCurrentUser() 
        //Place code here. 
        return null;

    // Given an array of one or more property names, 
    // returns a dictionary containing a name-value pair 
    // for each corresponding property found on the current 
    // users profile that are enabled for read access.
    public IDictionary<string, object> GetPropertiesForCurrentUser(string[] properties)
        //Place code here. 
        return null;

    // Given a dictionary with one or more name-value pairs, 
    // sets the values onto the corresponding properties of 
    // the current users profile. The method returns the count  
    // of properties that were able to be updated.
    public int SetPropertiesForCurrentUser(IDictionary<string, object> values)
        //Place code here. 
        return 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.

Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003

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