/// <summary> /// 服务的入口函数。 /// </summary> /// <param name="args">启动服务的命令行参数。</param> public static void Main(string[] args) { // 默认情况下,该服务以 Windows 服务的方式运行,使用 --NotWindowsService 命令行参数可让其以非 Windows 服务的方式运行。 List <string> Argments = new List <string>(args); int RunAsServiceIndex = Argments.IndexOf("--NotWindowsService"); if (RunAsServiceIndex != -1) { Argments.RemoveAt(RunAsServiceIndex); // 在自定义的命令行参数判断完成后应删除它(否则程序会出错)。 } IConfiguration AppSettings = BuildConfiguration(); MainWebHost = BuildWebHost(Argments.ToArray(), AppSettings); AppServices.ContentRoot = ContentRoot; #if NET462 if (RunAsServiceIndex != -1) { MainWebHost.Run(); } else { MainWebHost.RunAsWindowsService(); } #else MainWebHost.Run(); #endif }