Files
Web_HotelServices_Prod/ServerHelp/Program.cs

146 lines
5.0 KiB
C#
Raw Normal View History

2025-11-26 11:18:26 +08:00
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace ServerHelp
{
internal class Program
{
static void Main(string[] args)
{
var a = new A { name = "ddd" };
FindDuplicate(a);
Console.WriteLine(a.name);
return;
string _path = @"F:\FEST.txt";
Thread thread = new Thread(() =>
{
FileStream fs = new FileStream(_path, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite);
StreamWriter sr = new StreamWriter(fs, System.Text.Encoding.UTF8);
for (int i = 0; i < 1000; i++)
{
sr.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"));
sr.Flush();
Thread.Sleep(100);
}
});
Thread thread2 = new Thread(() =>
{
FileStream fs = new FileStream(_path, FileMode.Open, FileAccess.ReadWrite,FileShare.ReadWrite);
StreamReader sr = new StreamReader(fs, System.Text.Encoding.UTF8);
bool wu = false;
while (true)
{
var str = sr.ReadToEnd();
Thread.Sleep(100);
if (str.Length > 0)
Console.WriteLine(DateTime.Now + " ----- " + str.Replace(Environment.NewLine, "").Substring(0, "yyyy-MM-dd HH:mm:ss.fff".Length));
else
{
if (!wu)
{
Console.WriteLine("wu");
wu = true;
}
}
}
});
thread.Start();
thread2.Start();
return;
while (true)
{
try
{
string path = @"C:\wwwroot\App_Data\Server\Server.xcljj";
while (true)
{
var server = ServiceController.GetServices().FirstOrDefault(service => service.ServiceName == "BLV RUCS");
if (server == null)
{
Console.WriteLine("服务不存在!");
Thread.Sleep(1000);
continue;
}
if (!File.Exists(path))
{
Thread.Sleep(1000);
Console.WriteLine(server.Status.ToString());
continue;
}
int type = int.Parse(File.ReadAllText(path));
File.Delete(path);
Console.WriteLine(DateTime.Now.ToString() + (type == 1 ? "启动服务" : (type == 2 ? "重启" : "停止")) + "服务");
switch (type)
{
case 1:
if (server.Status != ServiceControllerStatus.Running)
{
server.Start();
}
break;
case 2:
if (server.Status == ServiceControllerStatus.Running)
{
server.Stop();
while (ServiceController.GetServices().FirstOrDefault(service => service.ServiceName == "BLV RUCS").Status != ServiceControllerStatus.Stopped)
{
}
}
server.Start();
break;
case 3:
server.Stop();
break;
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
}
Console.ReadLine();
}
public class A
{
public string name { get; set; }
}
public static void FindDuplicate(A s) { s.name = "sss"; }
public static int FindDuplicate(int[] arr)
{
int index = 0;
int res = arr[0];
int count = arr.Length - 1;
for (int i = 1; i <= count; i++)
{
if (res == arr[i])
{
break;
}
if (count == i && index != count)
{
index++;
res = arr[index];
// 下次循环是 index + 1
i = index;
}
}
return res == arr[0] ? -1 : res;
}
}
}