Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

PropertyMap - Classe

Représente un mappage de propriété qui définit le mappage de propriété entre le profil utilisateur et la source de données d'importation : service d'annuaire Microsoft Active Directory.

System.Object
  Microsoft.Office.Server.UserProfiles.PropertyMap

Espace de noms :  Microsoft.Office.Server.UserProfiles
Assembly :  Microsoft.Office.Server.UserProfiles (dans Microsoft.Office.Server.UserProfiles.dll)

[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel = true)]
public class PropertyMap

Uniquement une relation en tête-à-tête est autorisée. S'il existe une tentative de mapper plus d'une propriété de profil utilisateur à une propriété d'Active Directory ou une propriété de profil utilisateur à plusieurs propriétés Active Directory, un UPDuplicateEntryException est levée.

L'exemple de code suivant illustre l'utilisation de la classe PropertyMap .

static public void PropertyTypeAndMappingSample()
{
 
  using (SPSite site = new SPSite("site url"))
  {
    SPServiceContext context = SPServiceContext.GetContext(site);
//Initialize user profile config manager object.
    UserProfileConfigManager upcm = new UserProfileConfigManager(context);
    ConnectionManager cm = upcm.ConnectionManager;
 
//Sample to get a property type.
    PropertyDataTypeCollection pdtc = upcm.GetPropertyDataTypes();
    PropertyDataType ptype = null;
 
    foreach (PropertyDataType datatype in pdtc)
    {
      if (datatype.Name.Equals("string"))
      {
        ptype = datatype;
        break;
      }
    }
 
//Sample to create a new custom property.
    ProfilePropertyManager ppm = upcm.ProfilePropertyManager;
    CorePropertyManager cpm = ppm.GetCoreProperties();
    ProfileTypePropertyManager ptpm = ppm.GetProfileTypeProperties(ProfileType.User);
    ProfileSubtypeManager psm = ProfileSubtypeManager.Get(context);
    ProfileSubtype ps = psm.GetProfileSubtype(ProfileSubtypeManager.GetDefaultProfileName(ProfileType.User));
    ProfileSubtypePropertyManager pspm = ps.Properties;
 
    CoreProperty coreProp = cpm.Create(false);
    coreProp.Name = "division";
    coreProp.DisplayName = "my custom division";
    coreProp.Type = ptype.Name;
    coreProp.Length = ptype.MaxCharCount;
    coreProp.Commit();
    ProfileTypeProperty profileTypeProp = ptpm.Create(coreProp);
    profileTypeProp.IsVisibleOnEditor = true;
    profileTypeProp.IsVisibleOnViewer = true;
    profileTypeProp.Commit();
    ProfileSubtypeProperty profileSubTypeProp = pspm.Create(profileTypeProp);
    profileSubTypeProp.DefaultPrivacy = Privacy.Private;
    profileSubTypeProp.IsUserEditable = true;
    profileSubTypeProp.Commit();
    pspm.SetDisplayOrderByPropertyName(profileSubTypeProp.Name, 1);
    pspm.CommitDisplayOrder();
 
//Edit property sample.
    CoreProperty ptitle = cpm.GetPropertyByName(PropertyConstants.Title);
// Or get property by URI.
    ptitle = cpm.GetPropertyByURI(Property.URI_Title);
    ptitle.DisplayName = "Designation";
    ptitle.Commit();
//Property map sample.
    string connectionName = "Test Connection";
    Connection connection = cm[connectionName];
    PropertyMapCollection pmc = connection.PropertyMapping;
    pmc.AddNewMapping(ProfileType.User, profileSubTypeProp.Name, "division");
 
//Remove property sample.
    cpm.RemovePropertyByName("division");
    ptpm.RemovePropertyByName("division");
    pspm.RemovePropertyByName("division");
  }
}

Tous les membres statique (Partagé dans Visual Basic)s publics de ce type sont thread-safe. Cela n’est pas garanti pour les membres d’instance.
Afficher: