2013-12-23 2 views
0

나는 다양한 작업을 위해 경과 된 시간을 계산할 필요가있는 인터페이싱 어플리케이션을 가지고 있습니다.이벤트를 기반으로 지연 로깅

public void Startoperation1() 
    { 
     Stopwatch stopWatch1 = new Stopwatch(); 
     stopWatch.Start(); 
    } 

    public void StopOperation1() 
    { 
    stopWatch1.Stop(); 


    if(stopWatch1.TimeElapsed > tsActualTimeNeededForOperation1) 
    { 
    MessageBox.Show("Delay Occured in operation 1:"+ (stopWatch1.TimeElapsed - tsActualTimeNeededForOperation1).ToString()); 
    //Log to database about the delay 
    } 

    } 

별도의 클래스로 시작 및 중지 조작이 발생합니다.
이렇게 25 가지 작업이 있습니다. 나는 25 개의 스톱워치를 사용해야하고 모든 작업에 대해 지연을 기록하는 50 가지 방법을 작성해야합니다.
시스템의 타임 스탬프 사용과 같은 사용 코드와 스톱워치를 줄이려는 아이디어는 일반적인 방법입니까?

+1

에 의해 그들에게 하나를 실행합니다 .. ..... 루프와 같은 을 사용할 수 있습니다 동 기적으로 많은 Stopwatch 인스턴스가 필요하지 않습니다. 스톱워치가 실행되는 동안 Elapsed 속성을 읽을 수 있습니다. 즉, 시간 측정이 필요할 때마다 Stop()을 호출 할 필요가 없습니다. 이는 통화가 동기화 된 방식으로 완료 될 때만 의미가 있습니다. – CodeWeed

+0

사용자가 ** 이유 **를 파악할 기회가 없을 때 "예상보다 오래 걸렸습니다"라는 메시지를 과대 평가하지 마십시오. ** 시간이 오래 걸렸습니다. 프로파일 러를 사용하여 기준선을 측정하고 시스템 요구 사항을 작성하여 코드를 발송 한 후에이 결과가 재현 될 수 있도록하십시오. –

+0

그래서 정보를 기록하기 위해 25 * 50 가지 방법을 쓰십니까? 그들은 50 가지 방법으로 동일하게 작동합니까? – WiiMaxx

답변

1

당신이 한 번에 여러 개의 객체를 생성 .... 다음 코드 인 경우 하나 ....

stopwatch stopwatch1[]=new stopwatch[50]; 
for 
{ 
//... 

} 
관련 문제