2011-06-12 4 views
1

WMC 및 일부 다른 라이브러리를 사용하여 하드웨어 정보 (CPU/RAM/HDD 사용)를 쿼리하는 C# 4.0을 사용하는 서버 모니터링 응용 프로그램을 현재 구성하고 있습니다. FTP 및 HTTP와 같은 쿼리 서비스. 하드웨어 데이터 쿼리는 Server 클래스에 캡슐화되고 소프트웨어 서비스는 Service 클래스에 있으며, 각 서비스 클래스에는 해당 서버와 서비스를 저에게 설정된 간격으로 주기적으로 쿼리하는 타이머가 있습니다.WMI 쿼리 및 기타 쿼리가 포함 된 다중 스레드 개체

그러나 대부분의 사람들은 WMI 쿼리를 수행하는 데 많은 시간이 걸리므로 소프트웨어 서비스 쿼리는 호출자가 실행될 때 해당 호출자를 차단합니다. 이제는이 클래스 (서버 및 서비스)를 거의 완성 했으므로이를 UI에 통합하는 것에 대해 생각해 볼 때입니다.

WPF 프런트 엔드, nRoute 프레임 워크의 탐색 템플릿을 사용할 계획입니다. 그러나 WPF 및 멀티 스레딩에 대한 지식이 거의 없습니다. 내가 물어보고 싶은 것은 어떻게 다른 스레드에서 모든 서버와 서비스 객체를 인스턴스화하여 응용 프로그램을 정지시키지 않는가하는 것입니다. 컬렉션에 추가 한 다음 프런트 엔드에 목록으로 표시 할 수 있습니까?

어떤 제안이나 조언을 부탁드립니다. 감사합니다.

답변

0

다양한 옵션을 사용할 수 있습니다.

를 작성, concurrent collections을 사용하는 것이 좋습니다.

상황에 따라 스레드 풀링 또는 수동으로 스레드를 만드는 것으로 시작하고, 그렇지 않은 경우 다른 옵션을 고려해 보겠습니다.

+0

조언 해 주셔서 감사 드리며 사용해 보시고 어떻게 진행되는지보십시오. 다른 제안 사항도 환영합니다. – Plexion

관련 문제