forked from tmoonlight/NSmartProxy
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathProgram.cs
More file actions
51 lines (44 loc) · 1.6 KB
/
Program.cs
File metadata and controls
51 lines (44 loc) · 1.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
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
using NSmartProxy.Shared;
using PeterKottas.DotNetCore.WindowsService;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
namespace NSmartProxy.ServerHost
{
public class Program
{
static void Main()
{
//wait
ServiceRunner<NSmartProxyClient>.Run(config =>
{
var name = Global.NSPClientServiceDisplayName;
config.SetDisplayName(Global.NSPClientServiceName);
config.SetName(Global.NSPClientServiceDisplayName);
config.SetDescription(NSPVersion.NSmartProxyClientName);
config.Service(serviceConfig =>
{
serviceConfig.ServiceFactory((extraArguments, controller) =>
{
return new NSmartProxyClient();
});
serviceConfig.OnStart((service, extraParams) =>
{
Console.WriteLine("Service {0} started", name);
Task.Run(() => service.Start(extraParams.ToArray()));
});
serviceConfig.OnStop(service =>
{
Console.WriteLine("Service {0} stopped", name);
Task.Run(() => service.Stop());
});
serviceConfig.OnError(e =>
{
Console.WriteLine("Service {0} errored with exception : {1}", name, e.Message);
});
});
});
}
}
}