2010-06-22 6 views
1

Quelqu'un at-il recomendations de la façon d'améliorer la performance de la fonction UpdateListItems (à l'intérieur Lists.asmx)Comment puis-je améliorer les performances lors de l'insertion des éléments de liste en utilisant les services Web Sharepoint

Im conclusion qu'il faut environ 1-2 secondes pour insérer un nouvel élément, est-ce normal?

Heres le code im qui im ​​en cours d'exécution dans une boucle, qui dure environ 1000 fois

Dim xmlDoc As New System.Xml.XmlDocument() 
Dim query As System.Xml.XmlElement = xmlDoc.CreateElement("Batch") 

query.SetAttribute("OnError", "Return") 
query.SetAttribute("ListVersion", "1") 

query.InnerXml = "<Method ID='1' Cmd='New'>" & _ 
       "<Field Name='FieldName'>" & FieldData & "</Field>" & _ 
       "</Method>" 

Dim Result As XmlElement = L.UpdateListItems("List Name", query) 

Merci d'avance!

Répondre

1

Vous pouvez effectuer plusieurs mises à jour en un seul appel au service Web. Par exemple, appelez la mise à jour en dehors de de la boucle.

Donc vous pouvez envoyer à UpdateListItems comme ceci qui mettra à jour 2 enregistrement dans un lot.

<Batch OnError="Continue" ListVersion="1" 
ViewName="270C0508-A54F-4387-8AD0-49686D685EB2"> 
    <Method ID="1" Cmd="Update"> 
     <Field Name="ID">4<Field> 
     <Field Name="Field_Name">Value</Field> 
    </Method> 
    <Method ID="2" Cmd="Update"> 
     <Field Name="ID" >6</Field> 
     <Field Name="Field_Name">Value</Field> 
    </Method> 
</Batch> 
+0

Nice one! ... Je cherchais désespérément d'autres solutions, alors qu'en fait, j'aurais dû lire les docs! Merci –

Questions connexes