고객이 주문할 수있는 시스템이 있습니다. 주문을 한 후 60 분 이내에 지불해야 삭제됩니다. 순서가 나는 경우 주문을 취소 할 수 있도록하려면 내가 타이머를 작성했고 나는 클라이언트가 지불하기로 결정하면 타이머를 처리 할 수 있도록하려는 때문에 60분OrderId에 연결하여 타이머를 저장하는 방법은 무엇입니까?
System.Timer.Timers timer = new System.Timers.Timer(1000*60*60);
timer.AutoReset = false;
timer.Elapsed += HandleElapsed;
timer.Start();
에 경과 시간을 설정하고 서버 측에서 그는 _timerOrder (1) 감사 _orderTimer 사전에
다음Dictionary<int, Timer> _orderTimer;
Dictionary<Timer, int> _timerOrder;
클라이언트 급여의 나는 O와 ORDERID에 의해 타이머에 액세스 할 수 있습니다 (1) 감사와 시간이 경과 할 때 나는 O와 순서에 액세스 할 수 있습니다 : 저는 두 사전을 유지하지 않습니다 사전.
제 질문은 : 좋은 것입니까? 내가 한순간에 사전에 보관해야하는 최대 행 수가 50000이 될 것이라고 가정합니다.
아마도 Timer 클래스에서 OrderId라는 속성을 추가하고 List에서 모두 유지하고 linq를 사용하여 주문/타이머를 검색하는 것이 더 낫겠습니까?
아니면 다른 방식으로해야합니까?
귀하의 의견을 듣습니다. 나는 또한 많은 타이머가 문제가 될 수 있다고 생각했다. 대답 해줘서 고마워요. –