2011-02-10 4 views
1

내 응용 프로그램은 서비스가되어야합니다 (사용자가 로그온했는지 여부에 관계없이 실행해야 함).하지만 클라이언트 제어/감시 기능도 필요합니다. . 이 작업을 수행하는 최적의 방법은 무엇입니까?서비스가 사용자와 상호 작용하는 최적의 방법

  1. 는 서비스 응용 프로그램과 통신 할 수있는 별도의 응용 프로그램을 쓰기 - 나는 볼 그 응용 프로그램이 서비스 응용 프로그램에 다소 시스템 이벤트에

  2. 를 사용하여 콜백을 분리되기 때문에 안정성 측면에서 최선 솔루션, 서비스 응용 프로그램에서 UI 양식을 직접로드 할 수 있습니다.

나는 어느 방법으로 가야한다고 생각하니?

+1

서비스의 요점은 직접적인 사용자 상호 작용없이 실행된다는 것입니다. – StingyJack

+0

@StingyJack : 여기에 그 아이디어가 있지만 상태를 한동안 사용자에게 알려야합니다. – Goro

답변

1

일반적으로 전자가 더 이상적입니다. Serivces는 디자인에 의한 사용자 상호 작용없이 실제로 실행될 수 있으며, UI 작업을 시도하는 것은 큰 고통이 될 수 있습니다.

Windows는 응용 프로그램을 만들고 서비스는 여러 가지 방법으로 통신 할 수 있습니다. 명명 된 파이프, 소켓, dde 등 과거에는 명명 된 파이프를 사용하여 서비스를 제어/상호 작용 했으므로 특히 당신이 잠시 동안 임의의 데이터를 뱉어내는 서비스가 필요한 경우 특히 그렇습니다. 모든 고객은 듣기 만하면됩니다.

배포의 경우 Windows Forms 앱에는 서비스 자체에는없는 많은 종속성이있을 수 있으므로 설치 패키지에 다른 .exe가 포함됩니다.

2

이전에 첫 번째 옵션을 사용했습니다. 옵션 2처럼 UI 양식을로드 할 때 문제가 발생하기 때문입니다. 사용자에게 양식을 표시하려면 다른 응용 프로그램을 실행해야하므로 응용 프로그램이 서비스가 아닌 사용자의 세션을 기반으로 실행되도록하는 것이 좋습니다.

관련 문제