示例#1
0
        public async Task <UserSessionItem> GetSessionItem(UserSessionItemId sessionKeyItemId, CancellationToken cancellationToken)
        {
            var sessionKeyItems = await StateManager.GetOrAddAsync <IReliableDictionary <UserSessionItemId, UserSessionItem> >(SessionKeyDictionaryName);

            ServiceEventSource.Current.Message($"Method started {nameof(UserSessionService)}->GetSessionItem() at: {DateTime.UtcNow}");
            UserSessionItem result = null;

            using (var tx = StateManager.CreateTransaction())
            {
                var enumerator = (await sessionKeyItems.CreateEnumerableAsync(tx)).GetAsyncEnumerator();
                while (await enumerator.MoveNextAsync(cancellationToken))
                {
                    if (enumerator.Current.Key == sessionKeyItemId)
                    {
                        result = enumerator.Current.Value;
                        break;
                    }
                }
            }
            ServiceEventSource.Current.Message($"Method ended {nameof(UserSessionService)}->GetSessionItem() at: {DateTime.UtcNow}");
            return(result);
        }
示例#2
0
        public Task RemoveSessionItem(UserSessionItemId sessionKeyItemId, CancellationToken cancellationToken)
        {
            // For now I am removing data via run async, but this one also need to be implemented if user wants to delete the session explicitly

            return(null);
        }