43 lines
1.1 KiB
C#
43 lines
1.1 KiB
C#
using Castle.Core.Logging;
|
|
using OwnChar.Api;
|
|
|
|
namespace OwnChar.Server;
|
|
|
|
internal class Program
|
|
{
|
|
|
|
public static void Main(string[] args)
|
|
{
|
|
var options = new ServerOptions(args);
|
|
var appTempFolder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "OwnChar", "Server");
|
|
|
|
// Load log
|
|
Directory.CreateDirectory(appTempFolder);
|
|
using var fsLog = File.OpenWrite(Path.Combine(appTempFolder, "Log.log"));
|
|
var log = new StreamLogger("OwnChar Server", fsLog);
|
|
|
|
// Check paramters
|
|
if (!options.IsValid())
|
|
{
|
|
log.Error("Parameters are invalid or not configured. Can not start server app.");
|
|
return;
|
|
}
|
|
|
|
// Create server context
|
|
var server = new OwnCharApiServer(options.ApiUrl, options.DbServer, options.DbDatabase, options.DbUser, options.DbPassword)
|
|
{
|
|
Log = log
|
|
};
|
|
|
|
// Start server
|
|
server.Start();
|
|
|
|
// Wait for exit
|
|
Console.WriteLine("Server started. Press any key to stop.");
|
|
Console.ReadKey();
|
|
|
|
// Stop server
|
|
server.Stop();
|
|
}
|
|
}
|