gebeurtenis
17 mrt, 21 - 21 mrt, 10
Neem deel aan de meetup-serie om schaalbare AI-oplossingen te bouwen op basis van praktijkgebruiksvoorbeelden met collega-ontwikkelaars en experts.
Nu registrerenDeze browser wordt niet meer ondersteund.
Upgrade naar Microsoft Edge om te profiteren van de nieuwste functies, beveiligingsupdates en technische ondersteuning.
VAN TOEPASSING OP: NoSQL
In dit artikel wordt uitgelegd hoe u converteert tussen verschillende sessietokenindelingen om compatibiliteit tussen SDK-versies te garanderen.
Notitie
Standaard houdt de SDK het sessietoken automatisch bij en wordt het meest recente sessietoken gebruikt. Ga voor meer informatie naar Sessietokens gebruiken. De instructies in dit artikel zijn alleen van toepassing met de volgende voorwaarden:
Er zijn twee sessietokenindelingen: eenvoudig en vector. Deze twee indelingen zijn niet uitwisselbaar, dus de indeling moet worden geconverteerd bij het doorgeven aan de clienttoepassing met verschillende versies.
Een eenvoudig sessietoken heeft deze indeling: {pkrangeid}:{globalLSN}
Een vectorsessietoken heeft de volgende indeling: {pkrangeid}:{Version}#{GlobalLSN}#{RegionId1}={LocalLsn1}#{RegionId2}={LocalLsn2}....#{RegionIdN}={LocalLsnN}
Als u een sessietoken wilt doorgeven aan de client met .NET SDK V1, gebruikt u een eenvoudige sessietokenindeling. Gebruik bijvoorbeeld de volgende voorbeeldcode om deze te converteren.
private static readonly char[] SegmentSeparator = (new[] { '#' });
private static readonly char[] PkRangeSeparator = (new[] { ':' });
// sessionTokenToConvert = session token from previous response
string[] items = sessionTokenToConvert.Split(PkRangeSeparator, StringSplitOptions.RemoveEmptyEntries);
string[] sessionTokenSegments = items[1].Split(SessionTokenHelpers.SegmentSeparator, StringSplitOptions.RemoveEmptyEntries);
string sessionTokenInSimpleFormat;
if (sessionTokenSegments.Length == 1)
{
// returning the same token since it already has the correct format
sessionTokenInSimpleFormat = sessionTokenToConvert;
}
else
{
long version = 0;
long globalLSN = 0;
if (!long.TryParse(sessionTokenSegments[0], out version)
|| !long.TryParse(sessionTokenSegments[1], out globalLSN))
{
throw new ArgumentException("Invalid session token format", sessionTokenToConvert);
}
sessionTokenInSimpleFormat = string.Format("{0}:{1}", items[0], globalLSN);
}
Als u een sessietoken wilt doorgeven aan client met .NET SDK V2, gebruikt u de indeling van het vectorsessietoken . Gebruik bijvoorbeeld de volgende voorbeeldcode om deze te converteren.
private static readonly char[] SegmentSeparator = (new[] { '#' });
private static readonly char[] PkRangeSeparator = (new[] { ':' });
// sessionTokenToConvert = session token from previous response
string[] items = sessionTokenToConvert.Split(PkRangeSeparator, StringSplitOptions.RemoveEmptyEntries);
string[] sessionTokenSegments = items[1].Split(SegmentSeparator, StringSplitOptions.RemoveEmptyEntries);
string sessionTokenInVectorFormat;
if (sessionTokenSegments.Length == 1)
{
long globalLSN = 0;
if (long.TryParse(sessionTokenSegments[0], out globalLSN))
{
sessionTokenInVectorFormat = string.Format("{0}:-2#{1}", items[0], globalLSN);
}
else
{
throw new ArgumentException("Invalid session token format", sessionTokenToConvert);
}
}
else
{
// returning the same token since it already has the correct format
sessionTokenInVectorFormat = sessionTokenToConvert;
}
Lees de volgende artikelen:
gebeurtenis
17 mrt, 21 - 21 mrt, 10
Neem deel aan de meetup-serie om schaalbare AI-oplossingen te bouwen op basis van praktijkgebruiksvoorbeelden met collega-ontwikkelaars en experts.
Nu registrerenTraining
Leertraject
Verbinding maken met Azure Cosmos DB for NoSQL met de SDK - Training
Verbinding maken met Azure Cosmos DB for NoSQL met de SDK