public async Task Invoke(HttpContext context) { string userid = context.Request.Headers["Auth"]; string cachekey = "AuthUserInfo_" + userid; //如果是登录 if (context.Request.Path.Value.Contains("/api/v1/UserInfo/add")) { _memorycache.Remove(cachekey); } if (!context.Request.Path.Value.Contains("/api/v1/UserInfo/add") && !context.Request.Path.Value.Contains("/api/v1/UserInfo/login") && !context.Request.Path.Value.Contains("/code") && !context.Request.Path.Value.Contains("/createcode") && !context.Request.Path.Value.Contains("/File/") && !context.Request.Path.Value.Contains("/file") && !context.Request.Path.Value.Contains("/doc") && !context.Request.Path.Value.Contains("/profiler/") && !context.Request.Path.Value.Contains("hangfire") && !context.Request.Path.Value.Contains("swagger")) { if (!string.IsNullOrWhiteSpace(userid)) { var val = _memorycache.Get <UserInfoOutputDto>(cachekey); if (val != null) { await _next.Invoke(context); } else { await LoginAsync(context, 401, "登录超时,重新登录!"); } } else { await LoginAsync(context, 401); } } else { await _next.Invoke(context); } }
private void btnRemove_Click(object sender, RoutedEventArgs e) { MemoryCacheEx.Remove(3); }
private static void FromCacheRemoveId(object id) { string key = GetCacheKeyFromObjectId(id); MemoryCacheEx.Remove(key); }