我想创建一个控制台EXE应用程序,它可以作为一个独立的应用程序以及一个Windows服务运行。有可能吗?实际上使用svchost的好处是什么?如何创建一个独立的exe应用程序的Windows服务?
3
A
回答
14
重写你的Windows服务的主要方法是这样,这将是控制台应用程序,如果你有parametr -c运行,是不会忘了改项目类型从项目的属性窗口安慰
public static void Main(string[] args)
{
Service service = new Service();
if (args.Contains("-c", StringComparer.InvariantCultureIgnoreCase) || args.Contains("-console", StringComparer.InvariantCultureIgnoreCase))
{
service.StartService(args);
Console.ReadLine();
service.StopService();
return;
}
ServiceBase[] ServicesToRun = new ServiceBase[]
{
service
};
ServiceBase.Run(ServicesToRun);
}
StartService和StopService只是调用服务的被忽略的OnStart和OnStop方法
+0
+1,我的回答删除:) – 2009-07-17 10:28:24
2
这种情况的最佳方法是考虑组件的概念。
你的策略应该是开发一个你需要的所有逻辑的DLL。
之后,您将构建使用该DLL的控制台应用程序和Windows服务。
组件的概念和重用它们的可能性是微不足道的,也是很明智的。
当你需要改变你的逻辑时,你只需要改变DLL,并用旧的替换。你不需要任何特殊的部署。
相关问题
- 1. 如何为php独立应用程序创建exe文件?
- 2. 如何创建应用程序独立通知服务器?
- 3. 你如何使用qt创建独立(只有一个exe)应用程序?
- 4. 创建一个独立的.exe文件
- 5. 如何创建一个独立的.Net核心应用程序?
- 6. 创建独立的Java应用程序
- 7. 建立一个可执行的应用程序的Windows上的windows .exe
- 8. 如何用资源建立一个独立的exe文件?
- 9. 在一个heroku应用程序中独立缩放的服务
- 10. 如何将node.js项目创建为windows的独立exe文件。
- 11. 一个独立的Delphi应用程序,也可以安装为Windows服务
- 12. 如何使用'C'或'C++'为windows创建独立程序或应用程序
- 13. 用Java创建独立应用程序
- 14. 如何创建一个单独的exe文件来分发C#应用程序?
- 15. 从ASP.NET网站创建独立的Windows应用程序
- 16. 与tkinter一起使用py2exe来创建一个独立的.exe
- 17. 如何从独立的grails应用程序调用soap服务
- 18. 如何创建一个完整的包文件(.exe)的Windows应用程序
- 19. 如何创建Windows Phone 7作为服务的应用程序?
- 20. 如何使python烧瓶/ jinja/sqlite应用程序的windows独立exe文件
- 21. 什么是独立应用程序或独立服务器?
- 22. WCF控制台应用程序独立/独立服务
- 23. 你如何创建一个独立的C++程序?
- 24. 创建一个Windows GUI .exe应用程序
- 25. 如何创建一个独立的JVM?
- 26. 在Windows上运行Java独立应用程序(作为服务)
- 27. 如何在独立的SWT应用程序中创建IMarker
- 28. 如何在VS2010中创建一个独立的shell应用程序
- 29. 如何在vb6中创建一个窗体独立的应用程序?
- 30. 创建单个EXE独立应用程序无需安装即可运行
可能的重复 - http://stackoverflow.com/questions/355579/my-exe-runs-fine-by-itself-but-does-nothing-when-loaded-by-a-service&http:// stackoverflow.com/questions/165951/how-can-i-run-a-cli-application-as-a-windows-service – ChrisF 2009-07-17 10:22:32