Freigeben über


Gewusst wie: Abrufen von Ereignissen für Benutzer

Letzte Änderung: Donnerstag, 18. März 2010

Gilt für: SharePoint Server 2010

Das ActivityManager-Objekt ermöglicht Ihnen das Abrufen von zwei verschiedenen Arten von Aktivitätsereignissen: Ereignisse, die vom aktuellen Benutzer veröffentlicht wurden, und Ereignisse, die von anderen Benutzern veröffentlicht wurden und die der aktuelle Benutzer anzeigen möchte. Die Benutzereinstellungen für bestimmte Aktivitätsereignistypen werden in ActivityPreference-Objekten gespeichert.

ActivityPreference-Objekte

Das ActivityManager-Objekt verwaltet eine Liste mit ActivityPreference-Objekten (in der zugehörigen ActivityPreferences-Eigenschaft, die eine ActivityPreferencesCollection-Klasse definiert). Sie können die Aktivitätseinstellungen für einen Benutzer mithilfe der GetActivityPreferencesPerType()-Methode und der SetActivityPreferencesPerType-Methode des ActivityPreferencesCollection-Objekts festlegen und abrufen. Im Rahmen dieses Themas wird vorausgesetzt, dass Sie dem Microsoft Visual Studio 2010-Projekt die folgenden Verweise hinzugefügt haben.

  • Microsoft.SharePoint

  • Microsoft.Office.Server

  • Microsoft.Office.Server.UserProfiles

  • System.Web

Abrufen von Ereignissen für Benutzer

  • Verwenden Sie die überladene GetActivitiesByMe()-Methode, um Ereignisse abzurufen, die der aktuelle Benutzer veröffentlicht hat.

  • Verwenden Sie die überladene GetActivitiesForMe()-Methode, um von anderen Benutzern veröffentlichte Ereignisse abzurufen, die der aktuelle Benutzer anzeigen möchte.

  • Verwenden Sie die überladene GetActivitiesByUser-Methode des ActivityManager-Objekts, um Ereignisse abzurufen, die von angegebenen Benutzern veröffentlicht wurden.

Das folgende Codebeispiel zeigt, wie Voreinstellungen für den aktuellen Benutzer festgelegt und dann Aktivitäten von und für den aktuellen Benutzer abgerufen werden können. Beachten Sie, dass Sie Zugriff auf die LinksList-Eigenschaft des ActivityEvent-Objekts benötigen, bevor Sie auf die anderen Eigenschaften zugreifen können.

//Get the desired site context.
string currentSite = "site url";
using (SPSite aSite = new SPSite(currentSite))
{
SPServiceContext currentContext = SPServiceContext.GetContext(aSite);
//Get the UserProfileManager from SPServiceContext.
UserProfileManager userProfMan = new UserProfileManager(currentContext);
//Get the current user.
string userName = Environment.UserDomainName + "\\" + Environment.UserName;
UserProfile currentUser = userProfMan.GetUserProfile(userName);
//Get the ActivityManager from the user and context.
ActivityManager activityMan = new ActivityManager(currentUser, currentContext);
//Create an instance of a list of ActivityPreferencePerType objects.
List<ActivityPreferencePerType> activityPrefsPerType = new List<ActivityPreferencePerType>(activityMan.ActivityTypes.Count);
 
//Get each ActivityType stored in ActivityManager, and for testing purposes, set each ActivityType as
//a "true" ActivityPreference.
foreach (ActivityType activityType in activityMan.ActivityTypes)
{
ActivityPreferencePerType newPref = new ActivityPreferencePerType();
newPref.ActivityType = activityType;
newPref.IsSet = true;
activityPrefsPerType.Add(newPref);
Console.WriteLine(activityType.ActivityTypeName + " " + activityType.ActivityTypeId);
}
//Set activity preferences for the user.
activityMan.ActivityPreferences.SetActivityPreferencesPerType(activityPrefsPerType);
//Get all activity events for the user. You can also use GetActivitiesByUser and 
// pass currentUser as an argument.
ActivityEventsCollection activityEventsByMeCollection = activityMan.GetActivitiesByMe();
ActivityEventsCollection activityEventsForMeCollection = activityMan.GetActivitiesForMe();
//Iterate through one of the collections to verify.
foreach (ActivityEvent activityEvent in activityEventsForMeCollection)
{
//Access the LinkList property in order to populate the ActivityEvent
//object properties
List<Link> temp = activity.LinksList;
Console.WriteLine(activityEvent.Publisher.Name);
}
Console.ReadKey(true);
}

Siehe auch

Referenz

Microsoft.Office.Server.ActivityFeed

Konzepte

Gewusst wie: Erstellen und Einfügen von Ereignissen in Benutzernewsfeeds

Gewusst wie: Erstellen eines neuen Aktivitätstyps

Weitere Ressourcen

Microsoft SharePoint Server 2010: Aktivitätsfeeds-Konsolenanwendung

Erstellen von Ressourcendateien