Ive đã tạo một cửa sổ Dịch vụ được gọi là ProxyMonitor và hiện tại đang ở giai đoạn dịch vụ được cài đặt và gỡ cài đặt theo cách tôi muốn.Dịch vụ Windows chạy liên tục
Vì vậy, tôi thực hiện việc áp dụng như sau:
C:\\Windows\\Vendor\\ProxyMonitor.exe /install
Khá tự giải thích, và sau đó tôi đã đến services.msc
và và bắt đầu dịch vụ, nhưng khi tôi làm điều này tôi nhận được thông báo sau:
Dịch vụ giám sát proxy trên máy tính cục bộ bắt đầu và sau đó dừng lại. Một số dịch vụ tự động dừng nếu không có công việc để làm, Ví dụ, các bản ghi hiệu suất và Cảnh báo dịch vụ
Mã của tôi trông giống như vậy:
public static Main(string[] Args)
{
if (System.Environment.UserInteractive)
{
/*
* Here I have my install logic
*/
}
else
{
ServiceBase.Run(new ProxyMonitor());
}
}
Và sau đó trong lớp ProxyMonitor tôi có:
public ProxyMonitor()
{
}
protected override void OnStart(string[] args)
{
base.OnStart(args);
ProxyEventLog.WriteEntry("ProxyMonitor Started");
running = true;
while (running)
{
//Execution Loop
}
}
và onStop()
Tôi chỉ thay đổi biến số running
thành false
;
tôi sẽ cần phải làm gì để thực hiện dịch vụ liên tục hoạt động, như tôi sẽ cần phải được giám sát mạng Tôi cần phải theo dõi những thay đổi, vv
Cập nhật: 1
protected override void OnStart(string[] args)
{
base.OnStart(args);
ProxyEventLog.WriteEntry("ProxyMonitor Started");
Thread = new Thread(ThreadWorker);
Thread.Start();
}
Trong số ThreadWorker
tôi có ProxyEventLogger.WriteEntry("Main thread entered")
mà không bị sa thải.
'Chủ đề = Chủ đề mới (ThreadWorker) 'wont work –
Làm việc hoàn toàn tốt đẹp, Tại sao bạn nghĩ rằng nó sẽ thất bại? – RobertPitt