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

Lists.GetListItemChangesSinceToken - Méthode

Renvoie les modifications apportées à la liste depuis la date et l'heure spécifiée dans le jeton.

Espace de noms :  WebSvcLists
Assembly :  STSSOAP (dans STSSOAP.dll)

[SoapDocumentMethodAttribute("http://schemas.microsoft.com/sharepoint/soap/GetListItemChangesSinceToken", RequestNamespace = "http://schemas.microsoft.com/sharepoint/soap/", 
	ResponseNamespace = "http://schemas.microsoft.com/sharepoint/soap/", 
	Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
public XmlNode GetListItemChangesSinceToken(
	string listName,
	string viewName,
	XmlNode query,
	XmlNode viewFields,
	string rowLimit,
	XmlNode queryOptions,
	string changeToken,
	XmlNode contains
)

Paramètres

listName
Type : System.String

Chaîne qui contient le titre ou le GUID de la liste. Lors de l'interrogation de la table UserInfo, la chaîne contient UserInfo. L'utilisation des résultats GUID de meilleures performances.

viewName
Type : System.String

Chaîne qui contient le GUID de l'affichage, ce qui détermine l'affichage à utiliser pour les attributs d'affichage par défaut représentés par les paramètres query, viewFieldset rowLimit . Si cet argument n'est pas fourni, la vue par défaut est supposée. S'il est fourni, la valeur du paramètre query, viewFieldsou rowLimit remplace le paramètre équivalent au sein de l'affichage. Par exemple, si l'affichage spécifié par le paramètre viewFields a une limite de ligne de 100 lignes, mais le paramètre rowLimit contient 1000, 1 000 lignes sont retournées dans la réponse.

query
Type : System.Xml.XmlNode

Un élément de requête contenant la requête qui détermine quels enregistrements sont renvoyés et dans quel ordre et qui peuvent être affectés à un objet System.Xml.XmlNode , comme dans l'exemple suivant.

viewFields
Type : System.Xml.XmlNode

Un élément ViewFields qui spécifie les champs à renvoyer dans la requête et dans quel ordre, et qui peut être affecté à un objet System.Xml.XmlNode , comme dans l'exemple suivant.

rowLimit
Type : System.String

Chaîne qui spécifie le nombre d'éléments ou des lignes, à afficher sur une page avant le début de la pagination. Si fourni, la valeur de ce paramètre remplace la limite de ligne définie dans l'affichage spécifié par le paramètre viewName ou la limite de ligne définie dans la vue par défaut pour la liste.

queryOptions
Type : System.Xml.XmlNode

Fragment XML sous la forme suivante, qui contient des nœuds distincts pour les différentes propriétés de l'objet SPQuery , et qui peuvent être affectés à un objet System.Xml.XmlNode .

changeToken
Type : System.String

A string that contains the change token for the request. For a description of the format that is used in this string, see Overview: Change Tokens, Object Types, and Change Types. If une référence Null (Rien dans Visual Basic) is passed, all items in the list are returned.

contains
Type : System.Xml.XmlNode

Un élément Contains qui définit le filtrage personnalisé pour la requête et qui peuvent être affectés à un objet System.Xml.XmlNode , comme dans l'exemple suivant.

Valeur renvoyée

Type : System.Xml.XmlNode
Un fragment XML sous la forme suivante qui renvoie la dernière modification des modifications de jeton et un élément, qui peut être attribuée à un objet System.Xml.XmlNode :
<listitems MinTimeBetweenSyncs="0" RecommendedTimeBetweenSyncs="180" MaxBulkDocumentSyncSize="500" 
   AlternateUrls="http://MyServer/,http://zinzinzin/" EffectivePermMask="FullMask" 
   xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" 
   xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema" 
   xmlns="http://schemas.microsoft.com/sharepoint/soap/">
   <Changes LastChangeToken="1;3;b0c07dce-e4c7-45a9-8b7f-0d5339f69633;633247934080930000;70853">
   </Changes>
   <rs:data ItemCount="2">
      <z:row ows_Attachments="0" ows_LinkTitle="MyItem1" ows_MetaInfo="3;#" ows__ModerationStatus="0" 
         ows__Level="1" ows_Title="MyItem1" ows_ID="3" ows_owshiddenversion="2" 
         ows_UniqueId="3;#{9153FDD3-7C00-47E9-9194-956BB20AAA8D}" ows_FSObjType="3;#0" 
         ows_Created_x0020_Date="3;#2007-08-31T21:34:59Z" ows_Created="2007-08-31T21:34:59Z" 
         ows_FileLeafRef="3;#3_.000" ows_FileRef="3;#sites/MyWebSite/Lists/MyList/3_.000" 
         ows_ServerRedirected="0" />
      <z:row ows_Attachments="0" ows_LinkTitle="MyItem2" ows_MetaInfo="5;#" ows__ModerationStatus="0" 
         ows__Level="1" ows_Title="MyItem2" ows_ID="5" ows_owshiddenversion="3" 
         ows_UniqueId="5;#{5BDBB1C0-194D-4878-B716-E397B0C1318C}" ows_FSObjType="5;#0" 
         ows_Created_x0020_Date="5;#2007-08-31T21:43:23Z" ows_Created="2007-08-31T21:43:23Z" 
         ows_FileLeafRef="5;#5_.000" ows_FileRef="5;#sites/MyWebSite/Lists/MyList/5_.000" 
         ows_ServerRedirected="0" />
         ...
   </rs:data>
</listitems>

Le tableau suivant décrit les paramètres de retour.

Propriété

Définition

MinTimeBetweenSyncs

Représente la durée minimale entre la synchronisation automatique ou initiées par l'utilisateur. La valeur représente une durée en minutes.

RemarqueRemarque

Les clients doivent respecter cette valeur même si l'utilisateur lance la synchronisation manuellement. En d'autres termes, si cela est défini sur 5 minutes, les clients doivent uniquement envoyer une seule demande par 5 minutes même si l'utilisateur clique à plusieurs reprises sur « Envoyer/recevoir ».

RecommendedTimeBetweenSyncs

Représente la durée minimale recommandée entre les synchronisations. Cela doit spécifiquement être respectée pour les synchronisations automatiques. Clients ne doivent jamais automatiquement synchroniser plus souvent que cela. Synchronisations initiées par l'utilisateur peuvent remplacer cet intervalle.

MaxBulkDocumentSyncSize

La taille totale du contenu qui doit être synchronisé avec le client. La valeur par défaut est de 500 Mo. Vous obtenez l'URL et les métadonnées pour chaque document lorsque vous appeler GetListItemChangesSinceToken, mais vous puis que vous avez besoin de faire un HTTP GET pour extraire le contenu du document réel. Définissez cette valeur sur haute peut dégrader les performances.

AlternateUrls

Les URL de remplacement sont répertoriées dans l'ordre des zones suivantes, séparées par des virgules : Intranet,Default,Extranet,Internet,Custom

EffectiveBasePermissions

Les autorisations sur la liste renvoyée par SPList.EffectiveBasePermissions.ToString().

L'exemple de code suivant utilise la méthode GetListItemChangesSinceToken pour afficher le jeton de modification actuel qui se traduit à la liste chaque fois qu'une fois les mises à jour ultérieures.

Web_Reference_Folder.Lists listService = new Web_Reference_Folder.Lists();
listService.Credentials = System.Net.CredentialCache.DefaultCredentials;
listService.Url = "http://MyServer/MyWebSite/_vti_bin/Lists.asmx";

XmlNode getListName = listService.GetList("MyCalendar");
string listName = getListName.Attributes["Name"].Value;

XmlNode getFirstToken = listService.GetListItemChangesSinceToken(listName, null, null, null, null, null, null, null);
string currentToken = getFirstToken.ChildNodes[1].Attributes["LastChangeToken"].Value;

label1.Text = currentToken + "\n";

string strEditItemTitle = "My New Title";
string strBatchEdit = "<Batch OnError='Continue'><Method ID='0' Cmd='Update'>" +
    "<Field Name='Title'>" + strEditItemTitle + "</Field>" +
    "<Field Name='ID'>2</Field>" +
    "<Field Name='EventDate'>2007-10-11T14:00:00Z</Field>" +
    "<Field Name='EndDate'>2007-10-12T14:00:00Z</Field>" +
    "</Method></Batch>";

XmlDocument doc = new System.Xml.XmlDocument();
doc.LoadXml(strBatchEdit);
XmlNode editUpdates = doc.DocumentElement;

try
{
    listService.UpdateListItems(listName, editUpdates);
}
catch (System.Web.Services.Protocols.SoapException ex1)
{
    MessageBox.Show(ex1.Message + "\n" + ex1.Detail.InnerText + "\n" + ex1.StackTrace);
}

XmlNode getSecondToken = listService.GetListItemChangesSinceToken(listName, null, null, null, null, null, currentToken, null);

currentToken = getSecondToken.ChildNodes[1].Attributes["LastChangeToken"].Value;
label1.Text += currentToken + "\n";

string strNewItemTitle = "My New Item";

string strBatchNew = "<Batch OnError='Continue'><Method ID='0' Cmd='New'>" +
    "<Field Name='ID'>New</Field>" +
    "<Field Name='Title'>" + strNewItemTitle + "</Field>" +
    "<Field Name='EventDate'>2007-10-2T14:00:00Z</Field>" +
    "<Field Name='EndDate'>2007-10-3T14:00:00Z</Field>" +
    "</Method></Batch>";

doc = new System.Xml.XmlDocument();
doc.LoadXml(strBatchNew);
XmlNode addUpdates = doc.DocumentElement;

try
{
    listService.UpdateListItems(listName, addUpdates);
}
catch (System.Web.Services.Protocols.SoapException ex2)
{
    MessageBox.Show(ex2.Message + "\n" + ex2.Detail.InnerText + "\n" + ex2.StackTrace);
}

XmlNode getThirdToken = listService.GetListItemChangesSinceToken(listName, null, null, null, null, null, currentToken, null);

currentToken = getThirdToken.ChildNodes[1].Attributes["LastChangeToken"].Value;
label1.Text += currentToken;
Afficher: