2011-07-05 3 views
2

나는 (종류의) 데이터베이스를 C++로 구현했다. 이제 데이터베이스를 쿼리하는 데 Windows 서비스를 만들고 싶습니다. P- 호출은 옵션이 아니기 때문에 몇 분이 걸리는 모든 쿼리를 데이터베이스에로드해야하기 때문입니다.Visual Studio 2010에서 C++ Windows 서비스를 만들고 통신하는 방법은 무엇입니까?

하지만 몇 가지 문제에 직면

  1. 가 어떻게 VS2010에서 C++ Windows 서비스를 만들 수 있습니까? 템플릿이 제거 되었습니까 (왜 ???), 2008 템플릿을 사용하고 변환 할 수 있습니까? 그렇다면 다음과 같은 템플릿을 어디에서 찾을 수 있습니까?

  2. 나는 C++ Windows 서비스를 만들 수 있다고 가정합니다.이 서비스와 통신 할 수있는 옵션은 무엇입니까? 장점/단점은 무엇입니까?

나는 어떤 힌트라도 기뻐할 것입니다!

답변

2

왜 그런지 모르지만 템플릿이 실제로 사라졌습니다.

응용 프로그램과 서비스 WCF간에 통신하는 경우 옵션이 될 수 있습니다. WCF의 한 가지 이점은 전송 계층 (HTTP, TCP, 공유 메모리)을 쉽게 전환 할 수 있다는 것입니다.

this MSDN page을 살펴보십시오. Windows 서비스에서 WCF 서비스를 호스팅하십시오. 마지막에는 간단한 Windows 서비스 구현도 포함됩니다. 불행히도 C++이 아니라 C#.

+0

흠 .. 링크에 대한 감사합니다. 그러나 C++에서 WCF를 사용할 때 덜 직관적 인 것처럼 보입니다. 그리고 C++ 코드를 C# Windows 서비스에 통합하는 방법을 정확히 알지 못합니다. – Ben

1

당신은 따라와 기능을 구현해야합니다 MSDN

VOID WINAPI ServiceMain(DWORD dwArgc, LPTSTR *lpszArgv); 
VOID WINAPI ServiceHandler(DWORD fdwControl); 
VOID ReportSvcStatus(DWORD dwCurrentState, DWORD dwWin32ExitCode, DWORD dwWaitHint); 

더 많은 정보를. 예 : link.

+0

어 ..이 매우 낮은 수준의 C 프로그래밍처럼 보이는 ... – Ben

1
  1. 당신이 특정 this class에, POCO Project에서 살펴 봐야 할 수 있습니다. 코드를 다운로드하면 예제가 있습니다.
  2. 소켓을 통해 어느 클라이언트에서나 쉽게 액세스 할 수 있도록 web service을 구현할 수도 있습니다.
+0

멋진 기능을 갖춘 멋진 라이브러리처럼 보이고 사실 웹 서비스도 구현해야 할 수도 있습니다. 나는 그것을 볼 것이다! – Ben

1

몇 년 전에 내가 한 것은 Windows 서비스 인 COM out-of-process 서버입니다. 그것은 잘 작동하고 C# (및 다른 많은 언어 ...)에서 쉽게 액세스 할 수 있습니다. COM 환경이 없으면 인터페이스가 얼마나 복잡한 지에 따라 어려워 질 수 있습니다.

+0

나는 COM 경험이 없지만 감사합니다;) – Ben

-1

어쩌면 사용할 수 있습니다! ATL 프로젝트를 선택한 다음 서비스 (EXE)를 선택합니다.

안부

관련 문제