12
A
回答
5
这只是要求正确组织和分解代码,所以它不需要需要从服务方法中调用。 IE,你有一个函数调用来运行一切 - 可以从服务中调用,或者通过Main方法调用 - 或者由NUnit等调用。
否则,如果你仍然想要一个替代方案, Main方法,然后运行您的程序作为Windows计划任务的一部分。
+3
是最好的选择,但它不是那么简单。您将会遇到特定于Windows服务的时间错误,如安装问题,日志记录,访问冲突等,这些都很难测试。您可以将调试程序附加到进程中,但仍然不是查找错误的理想方法。 –
0
您可以考虑使用Windows Azure Worker角色。您将获得一个正在运行的服务,例如也托管在云中的环境。
3
您最佳的Windows服务替代方案是Windows Server AppFabric。关于使用它,这里有很好的blog entry。
但是,我认为这不一定更容易测试。测试的最佳选择是从控制台运行Windows服务。这可以通过实例化服务对象并公开一个方法来启动它来完成。
13
查看Topshelf project。简单的控制台应用程序,但可以安装为Windows服务。
相关问题
- 1. Windows服务的替代
- 2. 替代Web服务C#
- 3. 替代MSMQ的Windows服务器核心
- 4. Windows服务或任何其他替代
- 5. Windows服务C
- 6. Windows服务 - C#
- 7. 替代C++ Web服务客户端库
- 8. 替代Ria服务
- 9. C#Windows服务没有执行代码
- 10. 替代Fsync的Windows C++
- 11. C++ Windows替代版本?
- 12. C++ windows curl服务
- 13. C#的Windows服务
- 14. Ria服务替代WCF服务
- 15. Ruby替代服务层
- 16. Web服务替代品
- 17. g:formatDate服务中的替代
- 18. XMPP服务器替代品
- 19. GetDesktopWindow替代的服务
- 20. 替代服务器轮询?
- 21. mysql_real_escape_string替代SQL服务器
- 22. c中的windows服务代码,在哪里编写服务逻辑代码?
- 23. 代理池Windows服务
- 24. &lt;'代替'<' - WSO2代理服务
- 25. MSBuild无法构建MSI。是否有Windows服务的替代品?
- 26. 每隔几天重置asp“Windows服务”的替代方案
- 27. Windows Server 2008 R2上的VMWare服务器的替代
- 28. 轮询应用程序的Windows服务的替代品
- 29. C++ Windows服务错误1063
- 30. C#Windows服务运行
您的声明:“我的问题的原因是我发现windows服务很难测试,因为它需要先安装。”我想就此说,您可以通过首先编写它的整体来测试窗口服务代码按钮在表单中单击。当您对表单的代码感到满意后,可以将该代码复制并粘贴到Service.cs文件中。 –
我必须同意这一点上的OP,服务很难排除故障,特别是在生产环境中。但是,是的,有办法来缓解这个问题,通过编写代码首先作为控制台/赢取窗体运行。对于安装问题和特权,尽管 –