내 사이트에서 제 3 자 API를 호출합니다. 속도 제한을 피하기 위해 요청을 대기열에 넣기 위해 전역 변수를 정의해야합니다. (I'm using RateLimiter
더 좋은 해결책?)바쁜 ASP.NET MVC에서 전역 변수를 정의하는 방법
namespace MySite.App_Start
{
public static class Global
{
public static int MaxCount { get; set; } = 30;
public static TimeSpan Interval { get; set; } = TimeSpan.FromSeconds(1);
private static TimeLimiter rateLimiter;
public static TimeLimiter RateLimiter
{
get
{
if (rateLimiter == null)
rateLimiter = TimeLimiter.GetFromMaxCountByInterval(MaxCount, Interval);
return rateLimiter;
}
}
}
}
그럼 RateLimiter
속성을 사용합니다. 그러나 나는 전역 변수를 갖는 것이 좋은 생각이 아니라는 것을 많이 읽었습니다. 내 사이트가 초당 요청이 많다는 것을 고려하면 내 코드를 안전하게 사용할 수 있습니까? 감사.
글쎄, C#을'에서'전역 변수 같은 것은 없다 , 그래서 ... –
@CamiloTerevinto가 아닙니까? ummm 내 속성 인 'RateLimiter'에는 모든 요청에서 공유되는 전역 값이 있습니다. – Blendester
정적 값이고 "글로벌"값이 아닙니다 –