/// <summary> /// 安全间隔 /// </summary> /// <param name="method"></param> private void IntervalForSecurity(HttpRequestMessage request) { if (_securityOptions.IntervalSecondsBetweenRequestApi <= 0) { return; } if (!_securityOptions.GetIntervalMethods().Contains(request.Method)) { return; } int seconds = 0; //需要特殊处理的接口 if (_special.TryGetValue(request.RequestUri.AbsolutePath, out int s)) { seconds = s; } else { int maxSeconds = _securityOptions.IntervalSecondsBetweenRequestApi; seconds = new Random().Next(maxSeconds / 2, maxSeconds + 1); } Task.Delay(seconds * 1000).Wait(); }
/// <summary> /// 安全间隔 /// </summary> /// <param name="method"></param> private void IntervalForSecurity(HttpMethod method) { if (_securityOptions.IntervalSecondsBetweenRequestApi <= 0) { return; } if (!_securityOptions.GetIntervalMethods().Contains(method)) { return; } Task.Delay(_securityOptions.IntervalSecondsBetweenRequestApi * 1000).Wait(); }