using Common;
using System;
using System.Threading;
using System.Threading.Tasks;
namespace ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
var tokenSource = new CancellationTokenSource();
Task.Factory.StartNew(() =>
{
while (!tokenSource.IsCancellationRequested)
{
Console.WriteLine($"{DateTime.Now}:業務邏輯處理中");
Thread.Sleep(1000);
}
}).ContinueWith(t =>
{
Console.WriteLine("服務安全退出");
Environment.Exit(0);//強制退出
});
Console.WriteLine("服務成功開啓");
while(!"N".Equals(ConfigurationManager.Configuration["isquit"],StringComparison.OrdinalIgnoreCase))
{
Thread.Sleep(1000);
}
Console.WriteLine("Hello World!");
}
}
}
/*******************Common庫 ConfigurationManager.cs******************************************/
using Microsoft.Extensions.Configuration;
using System;
using System.IO;
namespace Common
{
public class ConfigurationManager
{
public static IConfigurationRoot Configuration
{
get
{
var configuration = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile(string.Format("appsettings.{0}.json", Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT")), optional: true, reloadOnChange: true)
.AddJsonFile(string.Format("ops.{0},json", Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT")), optional: true, reloadOnChange: true)
.Build();
return configuration;
}
}
}
}
/***************************************************************/
發佈程序:
1.將程序通過FileZilla上傳到ubuntu
2.進入程序目錄
~/publish/source/ConsoleApp2$ dotnet publish -o ~/publish/output/output1 -c release
3.運行服務 dotnet ConsoleApp2.dll
4.後臺運行 nohup dotnet ConsoleApp2.dll &
5.必須通過exit退出終端