많은 사람들에게 익숙한 문제가 있습니다. 특정 상황에서 작동하지 않고 예외가 발생하는 호출 (특정하게 Forest.GetCurrentForest())을 만들고 있습니다. 커다란 문제는 아니지만 그냥 잡아서 적절하게 처리하십시오. 그러나 호출이 실패하면 매우 느립니다. 완전히 끝내려면 30 초가 걸립니다.타임 아웃을 사용하여 다른 메소드를 호출하는 범용 메소드를 작성할 수 있습니까?
나는이 메소드를 호출하는 방법을 찾고 있었지만 더 짧은 시간 후에 중지 할 수 있도록 시간 제한을 설정했습니다. 나는 재미있는 제안을 찾았습니다. here 그러나 그것을 해결할 수 있다면 좀 더 일반적인 해결책을 원합니다. 그 솔루션은 시간 초과를 얻으려는 경우 추가 비용이 많이 든다.
CallMethodWithTimeout(Delegate method, int timeout)
그러나 나는 그런 식으로 작동 할 것이라고 확신하지 못합니다. 그런 일을하는 것에 대한 제안이나 C#에서는 불가능한가요? 우리는 또한 .NET 2.0을 사용하여 붙어 있습니다.
나는 GetCurrentForest() 호출이 일어나지 않는다는 것을 알아 내기 위해 30 초가 걸리지 않도록주의 할 것입니다. 비록 일반적인 메서드 호출자 메서드의 실현 가능성에 대해 알고 싶습니다.
무슨 일이 있어도 사용하지 마십시오 'Thread.Abort' 또는'Thread.Interrupt'. :) – Joren
할 것입니다. 아니면 ... 하지마. ;) 답변 해 주셔서 감사합니다. 지금 당장은이 문제를 해결할 수있을 것 같지만 앞으로 어떤 일이 발생할 때 제안을하게되어 기쁩니다. – CodexArcanum