用C#编写一个Windows服务程序

1.添加引用Windows服务(.NET Framework)
在这里插入图片描述
2.输入项目名称,选择安装位置,,选择安装框架版本;创建。
在这里插入图片描述
3.找到MyService.cs ,右击‘查看代码’
在这里插入图片描述
在这里插入图片描述
添加如下代码:

public partial class MyService : ServiceBase
    {
   
        public MyService()
        {
   
            InitializeComponent();
        }
        string filePath = @"D:\MyServiceLog.txt";
        protected override void OnStart(string[] args)
        {
   //服务启动时,执行该方法
            using (FileStream stream = new FileStream(filePath,FileMode.Append))
            using (StreamWriter writer = new StreamWriter(stream))
            {
   
                writer.WriteLine($"{
     DateTime.Now},服务启动!");
            }
        }
        protected override void OnStop()
        {
   //服务关闭时,执行该方法
            using (FileStream stream = new FileStream(filePath,FileMode.Append))
            using (StreamWriter writer = new StreamWriter(stream))
            {
   
                writer.WriteLine($"{
     DateTime.Now},服务停止!");
            }
        }
    }

4.双击MyService.cs,在出现的界面中右击–>选择“添加安装程序”。
在这里插入图片描述
点击后,会自动生产连个控件,sericcelnstaller1 和sericeProcessInstaller1
在这里插入图片描述
5.分别设置两个控件的属性
右击serviceInstaller1 点击属性
在这里插入图片描述
分别设置:服务安装的描述,服务的名称,启动的类型 。
在这里插入图片描述
在serviceProcessInstaller1 ,设置Account(服务属性系统级别)&

  • 4
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用C#编写Web服务器的基本步骤: 1.创建一个TcpListener对象,该对象将侦听传入的连接请求。 2.使用AcceptTcpClient方法接受传入的连接请求,并创建一个TcpClient对象来处理连接。 3.使用NetworkStream对象读取和入数据。 4.解析HTTP请求,包括请求方法,请求路径和请求头。 5.根据请求路径确定要提供的内容,并将内容作为HTTP响应发送回客户端。 下面是一个简单的C# Web服务器示例,它可以响应GET请求并返回HTML内容: ```csharp using System; using System.IO; using System.Net; using System.Net.Sockets; using System.Text; class Program { static void Main(string[] args) { TcpListener listener = new TcpListener(IPAddress.Any, 8080); listener.Start(); Console.WriteLine("Server started on port 8080"); while (true) { TcpClient client = listener.AcceptTcpClient(); Console.WriteLine("Client connected"); NetworkStream stream = client.GetStream(); StreamReader reader = new StreamReader(stream); StreamWriter writer = new StreamWriter(stream); string request = reader.ReadLine(); Console.WriteLine("Request: " + request); string[] tokens = request.Split(' '); string method = tokens[0]; string path = tokens[1]; if (method == "GET") { if (path == "/") { writer.WriteLine("HTTP/1.0 200 OK"); writer.WriteLine("Content-Type: text/html"); writer.WriteLine(); writer.WriteLine("<html><body><h1>Hello, world!</h1></body></html>"); } else { writer.WriteLine("HTTP/1.0 404 Not Found"); } } else { writer.WriteLine("HTTP/1.0 501 Not Implemented"); } writer.Flush(); client.Close(); Console.WriteLine("Client disconnected"); } } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值