我有一个(种)数据库在C ++中实现。 现在我想创build一个Windows服务来查询它,因为P-invoking它不是一个选项,因为数据库将不得不加载每个查询,这需要几分钟。
但是我面临几个问题:
我如何在VS2010中创build一个C ++ Windows服务? 该模板已被删除(为什么???),我可以使用2008模板并将其转换? 如果是的话:我在哪里可以find这样的模板?
假设我设法创build一个C ++ Windows服务:我有什么select与这个服务进行通信(来自c sharp)? 有什么优点/缺点?
我会很高兴的任何提示!
本
我不知道为什么,但模板真的走了。
为了在应用程序和服务之间进行通信,WCF将是一个选项。 WCF的一个优点是,您可以轻松地切换传输层(HTTP,TCP,共享内存)
看看这个MSDN页面 。 它描述了你正在试图达到的目标:在Windows服务中托管一个WCF服务。 它甚至包含了一个简单的Windows服务实现。 不幸的是没有C ++,但C#。
您应该执行以下功能:
VOID WINAPI ServiceMain(DWORD dwArgc, LPTSTR *lpszArgv); VOID WINAPI ServiceHandler(DWORD fdwControl); VOID ReportSvcStatus( DWORD dwCurrentState, DWORD dwWin32ExitCode, DWORD dwWaitHint );
更多信息在MSDN上 。 例如: 链接 。
我几年前做的是一个COM服务器,它是一个Windows服务。 它工作得很好,你可以很容易地从C#(和许多其他语言…)访问它。 如果你没有COM的经验可能会变得很难(取决于你的界面是多么复杂)。
也许你可以使用! ATL项目,然后选择服务(EXE)。
最好的祝福