Beispiel #1
0
 public Task OnTokenChange(string Token)
 {
     try
     {
         var    Redis       = new RadisServices <ConnetedClientToken>(this._fact);
         string AccessToken = Redis.GetHashData(Token, "accessToken");
         ConnetedClientToken ClientToken = new ConnetedClientToken();
         ClientToken = Redis.GetData("Users:" + Context.ConnectionId);
         Redis.DeleteTag("Users:" + Context.ConnectionId, ClientToken.Token);
         Redis.SaveToHash("Users:" + Context.ConnectionId, new ConnetedClientToken {
             Token = AccessToken
         }, AccessToken);
         return(Task.FromResult(0));
     }
     catch (Exception ex)
     {
         _logger.LogError(ex, "An unexpected exception occured,\nMethodName:" + System.Reflection.MethodBase.GetCurrentMethod().Name + "\nClassname=" + this.GetType().Name, LogLevel.Error);
         return(Task.FromResult(0));
     }
 }
Beispiel #2
0
        public override Task OnDisconnectedAsync(System.Exception exception)
        {
            try
            {
                //var Redis = new RadisServices<ConnetedClientList>(this._fact);
                //Redis.Scan(Context.ConnectionId, ":ConnectionDetail");

                var    Redis        = new RadisServices <ConnetedClientToken>(this._fact);
                string Pair         = Redis.GetPairOrMarketData(Context.ConnectionId, ":", "Pairs");
                string BaseCurrency = Redis.GetPairOrMarketData(Context.ConnectionId, ":", "Markets");
                //GetConnectedClient(Pair);
                ConnetedClientToken Client = new ConnetedClientToken();
                Client = Redis.GetData("Users:" + Context.ConnectionId);
                if (Client != null)
                {
                    Redis.DeleteTag("Users:" + Context.ConnectionId, Client.Token);
                }
                Redis.DeleteTag("Pairs:" + Pair, Context.ConnectionId);
                Redis.DeleteTag("Markets:" + BaseCurrency, Context.ConnectionId);
                Redis.DeleteHash("Users:" + Context.ConnectionId);
                Redis.RemoveSetMember("Pairs:" + Pair, Context.ConnectionId);
                Redis.RemoveSetMember("Markets:" + BaseCurrency, Context.ConnectionId);
                Groups.RemoveFromGroupAsync(Context.ConnectionId, "BuyerBook:" + Pair).Wait();
                Groups.RemoveFromGroupAsync(Context.ConnectionId, "SellerBook:" + Pair).Wait();
                Groups.RemoveFromGroupAsync(Context.ConnectionId, "TradingHistory:" + Pair).Wait();
                Groups.RemoveFromGroupAsync(Context.ConnectionId, "MarketData:" + Pair).Wait();
                Groups.RemoveFromGroupAsync(Context.ConnectionId, "ChartData:" + Pair).Wait();
                Groups.RemoveFromGroupAsync(Context.ConnectionId, "Price:" + Pair).Wait();
                Groups.RemoveFromGroupAsync(Context.ConnectionId, "BroadCast").Wait();
                Groups.RemoveFromGroupAsync(Context.ConnectionId, "GroupMessage").Wait();
                Groups.RemoveFromGroupAsync(Context.ConnectionId, "PairData:" + BaseCurrency).Wait();
                Groups.RemoveFromGroupAsync(Context.ConnectionId, "MarketTicker:" + BaseCurrency).Wait();
                return(base.OnDisconnectedAsync(exception));
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, "An unexpected exception occured,\nMethodName:" + System.Reflection.MethodBase.GetCurrentMethod().Name + "\nClassname=" + this.GetType().Name, LogLevel.Error);
                return(Task.FromResult(0));
            }
        }