2013-04-02 12 views
7

Ogni Item (ad esempio Task) in Exchange Web Services (EWS) API Managed ha un Id proprietà di tipo ItemId, che poi ha una proprietà di nome StringUniqueId (ereditato da ServiceId — uff, che ha ottenuto ?).ServiceId.UniqueId lunghezza massima e formato

Ho intenzione di mantenere il valore di UniqueId in un database, quindi ho bisogno di sapere quale dovrebbe essere la lunghezza massima della colonna. Alcuni test mostrano che è almeno pari a 152 byte, ma sembra una dimensione strana per un massimo.

Una seconda parte di questa domanda è il formato del valore. È qualcosa che può essere analizzato in un tipo più comune, come un Guid? Sto afferrando le cannucce, lo so.

risposta

3

Per sicurezza, abbiamo suggerito setting aside 512 characters per l'identificatore EWS. Mentre non mi aspetto che sarà mai allungato a circa 512 caratteri, Microsoft si riserva il diritto di modificare il formato. Dubito fortemente che Exchange cambierà il formato a questo punto.

Per quanto riguarda il formato dell'identificatore, è concepito come opaco e quindi non deve essere analizzato né ricostruito.

+1

Quindi si consiglia di memorizzarlo come Varbinary, Varchar, Uniqueidentifier? – Brent

3

Da EWS Identifiers in Exchange:

  • Il valore elemento ItemID per le cartelle e gli elementi è case-sensitive. Se si guarda l'ID oggetto di una cartella o elemento restituito dall'operazione FindItem (o dal metodo API gestito di FindItems EWS), si potrebbe pensare che si tratti di un duplicato di un altro ID oggetto; tuttavia, uno o più caratteri negli ID oggetto per i due articoli avranno un caso diverso.
  • Se si desidera archiviare l'ID oggetto in un database per recuperarlo in un secondo momento, è consigliabile che la dimensione del campo sia 512 byte, in modo che sia sufficientemente grande da contenere il GUID.
  • Non dare per scontato che l'ID sarà sempre valido se è necessario recuperare l'elemento in un secondo momento. Se un articolo viene spostato nel negozio, l'ID può cambiare a causa del modo in cui viene gestita una mossa. Un elemento viene effettivamente copiato e viene generato un nuovo ID e quindi l'elemento originale viene eliminato.