好文档 - 专业文书写作范文服务资料分享网站

Windows服务开发实例

天下 分享 时间: 加入收藏 我要投稿 点赞

文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持.

C#Windows服务程序开发实例介绍

C#Windows服务程序开发实例程序的目的和用途:

很多开机启动程序仅仅加在启动项里面,只有登陆后才真正启动。windows服务在开机未进行用户登录前就启动了。正是利用这一点,解决一些服务器自动重启后特定软件也自动启动的问题。

C#Windows服务程序开发1.

新建一个服务项目 visual C#----windows----windows服务; C#Windows服务程序开发2.

添加一个dataset(.xsd),用于存储启动目标的路径,日志路径等。 在dataset可视化编辑中,添加一个datatable,包含两列 StartAppPath 和 LogFilePath。分别用于存储目标的路径、日志路径。

我认为利用dataset.xsd存储配置参数的优势在于可以忽略xml解析的具体过程直接使用xml文件。

在dataset中 提供了ReadXml方法用于读取xml文件并将其转换成内存中的一张datatable表,数据很容易取出来!同样,WriteXml方法用于存储为xml格式的文件,也仅仅需要一句话而已。

C#Windows服务程序开发3.

program.cs文件 作为程序入口,代码如下:

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.

using ;

using System.ServiceProcess; using System.Text;

namespace WindowsServices_AutoStart {

static class Program {

/// ﹤summary﹥ /// 应用程序的主入口点。 /// ﹤/summary﹥ static void Main() {

ServiceBase[] ServicesToRun;

1

文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持.

14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51.

// 同一进程中可以运行多个用户服务。若要将 // 另一个服务添加到此进程中,请更改下行以 // 创建另一个服务对象。例如, //

// ServicesToRun = new ServiceBase[] { new Service1(), new MySecondUserService()}; //

ServicesToRun = new ServiceBase[] { new WindowsServices_AutoStart() }; ServiceBase.Run(ServicesToRun); } } } using ;

using System.ServiceProcess; using System.Text;

namespace WindowsServices_AutoStart {

static class Program {

/// ﹤summary﹥ /// 应用程序的主入口点。 /// ﹤/summary﹥ static void Main() {

ServiceBase[] ServicesToRun;

// 同一进程中可以运行多个用户服务。若要将 // 另一个服务添加到此进程中,请更改下行以 // 创建另一个服务对象。例如, //

// ServicesToRun = new ServiceBase[] { new Service1(), new MySecondUserService()}; //

ServicesToRun = new ServiceBase[] { new WindowsServices_AutoStart() }; ServiceBase.Run(ServicesToRun); } }

2

文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持.

52.

}

C#Windows服务程序开发4. service.cs主文件,代码如下:

53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86.

view plaincopy to clipboardprint? using System; using ;

using System.ComponentModel; using System.Data; using System.IO;

using System.Diagnostics; using System.ServiceProcess; using System.Text;

namespace WindowsServices_AutoStart {

public partial class

WindowsServices_AutoStart : ServiceBase {

public WindowsServices_AutoStart() {

InitializeComponent(); }

string StartAppPath =\; //@\ string LogFilePath =\;

// @\

protected override void OnStart(string[] args) {

string exePath = System.Threading. Thread.GetDomain().BaseDirectory; //

if (!File.Exists(exePath + @\)) {

dsAppPath ds = new dsAppPath(); object[] obj=new object[2]; obj[0]=\; obj[1]=\;

ds.Tables[\].Rows.Add(obj);

3

Windows服务开发实例

文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持.C#Windows服务程序开发实例介绍C#Windows服务程序开发实例程序的目的和用途:很多开机启动程序仅仅加在启动项里面,只有登陆后才真正启动。windows服务在开机未进行用户登录前就启动了。正是利用这一点,解决一些服务器自动重启后特定软件也自动启动的问题。C#
推荐度:
点击下载文档文档为doc格式
0u59t6h6ak6cyp27lz4y3h0qq02udc01bur
领取福利

微信扫码领取福利

微信扫码分享