次の方法で共有


特定の変更のクエリ

特定の種類のオブジェクトに対する特定の種類の変更を照会するには、SPChangeQuery クラスのオブジェクトおよび対応するイベントを設定する必要があります。したがって、Web サイトへのユーザーの追加を照会するには、User プロパティと Add プロパティを true に設定します。User を true に設定しただけでは、すべてのユーザー変更は取得されません。ユーザー オブジェクトに対するすべての種類の変更を照会するには、User プロパティおよび考えられるすべてのイベント プロパティ (つまり、AddDelete、および Update) を true に設定する必要があります。

次のコード例は、特定の種類のオブジェクトに対する変更を照会する方法を示します。この場合は、SPUser のすべての変更がコンテンツ データベース範囲で照会されます。GetChanges メソッドへの呼び出しでは、データベース範囲で追加されたすべてのユーザーを照会する SPChangeQuery オブジェクトが渡されます。

Dim database As SPContentDatabase = New SPSite("http://siteUrl").ContentDatabase

' Creating a change token using the time stamp.
Dim startTime As DateTime = DateTime.Now.Subtract(TimeSpan.FromDays(1))
Dim startToken As New SPChangeToken(SPChangeCollection.CollectionScope.ContentDB, database.Id, startTime)
Dim changeQuery As New SPChangeQuery(False, False)
changeQuery.User = True
changeQuery.Add = True
changeQuery.ChangeTokenStart = startToken

' Querying for changes at a later time.
changeQuery.ChangeTokenEnd = database.CurrentChangeToken
Dim changes As SPChangeCollection = database.GetChanges(changeQuery)
Dim change As SPChange

For Each change In changes
    Dim userChange As SPChangeUser = CType(change, SPChangeUser)
    ' Use the SPChangeUser properties e.g. Id to retrieve 
    ' the SPUser object if needed.
Next change
SPContentDatabase database = new SPSite("http://siteUrl").ContentDatabase;

/* Creating a change token using the time stamp.*/
DateTime startTime = DateTime.Now.Subtract(TimeSpan.FromDays(1));
SPChangeToken startToken = new SPChangeToken(SPChangeCollection.CollectionScope.ContentDB, database.Id, startTime);
SPChangeQuery changeQuery = new SPChangeQuery(false, false);
changeQuery.User = true;
changeQuery.Add = true;
changeQuery.ChangeTokenStart = startToken;

/* Querying for changes at a later time.*/
changeQuery.ChangeTokenEnd = database.CurrentChangeToken;
SPChangeCollection changes = database.GetChanges(changeQuery);
foreach (SPChange change in changes)
{
    SPChangeUser userChange = (SPChangeUser)change;
    /* Use the SPChangeUser properties (e.g. Id) to retrieve 
    the SPUser object if needed.*/
}