Quel est le but de l'ETag dans ITableEntity
pour ETag ITableEntity MSDN dit:
Obtient ou définit l'entité actuelle de l'ETag. Définissez cette valeur à " * " afin de aveuglément remplacer une entité dans le cadre d'une opération de mise à jour.
Je suis incapable de undersatnd le but de cette propriété, veuillez expliquer pourquoi et quand nous pouvons utiliser cette propriété.
Vous devez vous connecter pour publier un commentaire.
ETag propriété est celle des entités de l'heure. Vous pouvez lire l'ETag propriété dans ReadingEnitity Événement.
Pour plus de détails, veuillez voir la discussion sur le fil de discussion suivant Comment utiliser Windows Azure Table Storage ou d'Horodatage champ Etag
ETag n'est pas le timestamp, ou au moins pas plus. Il y a un Timestamp propriété lors de l'enregistrement de la dernière mise à jour. L'ETag est utilisé pour la concurrence. Si vous chargez un tableau de l'entité et souhaitez le mettre à jour, vous passez à la mise à jour de l'ETag d'lors du chargement de la valeur et il mettra à jour l'entité que si que ETag correspond à ce qui est stocké.
Pourquoi s'en faire? Eh bien, si vous avez plusieurs utilisateurs modifient le même article sur un formulaire dans le même temps, vous n'en voulez pas aux utilisateurs de changer d'écraser l'autre utilisateur sans le deuxième utilisateur d'être informé qu'ils sont d'écraser les données qui a été changé depuis qu'il l'a chargé.
Exemple: utilisateur 1 et utilisateur 2 chargez une page de modification en même temps. L'utilisateur 1 de changer une valeur pour le champ 1 et enregistre l'élément. Après que l'utilisateur 2 a eu le point d'ouvrir un peu plus l'utilisateur 2 fait un changement de domaine indépendant 2 et sans le savoir, l'ancienne champ 1 est en train d'être enregistrés avec leur mise à jour. L'utilisateur 2 ne savent pas qu'ils sont défausser d'une modification par l'utilisateur 1 à moins que vous leur dites. Donc, ce que vous devez faire est d'afficher une erreur que l'utilisateur 1 a déjà changée et est-on bien sûr qu'ils veulent écraser l'utilisateur 1 est modifiée ou si ils veulent voir ces changements.
Ceci est accompli par l'utilisateur 1 et utilisateur 2 le stockage de l'ETag à partir de quand l'album a été chargé cachés sur votre formulaire d'affichage. Lors de chaque utilisateur tente une sauvegarde que vous pouvez passer ce ETag le serveur avec la mise à jour des données. Comment est-ce que vous dites de l'utilisateur 2 est en train de changer la date d'enregistrement? Parce que chaque modification à un enregistrement des mises à jour de l'ETag stockées pour cet enregistrement. Ainsi, lorsque l'utilisateur 2 essaie de sauver de l'ETag vous envoyer avec leurs modifications ne sont pas de match et d'Azur vous dira si vous pouvez gérer ce qui doit être fait.
Maintenant, si vous n'avez pas de soins que l'utilisateur 2 peut remplacer l'utilisateur 1 modifications, puis de passer de "*" les enregistrer et d'Azur ne donnera pas une erreur lors de l'ETag ne correspond pas.