Add MarketDataServer

This commit is contained in:
2025-04-06 18:28:24 -04:00
parent 954c45ee81
commit ac69b4a994
17 changed files with 961 additions and 0 deletions

68
MarketDataServer/Program.cs Executable file
View File

@@ -0,0 +1,68 @@
using System.Diagnostics;
using MarketData;
using MarketData.Configuration;
using MarketData.Utils;
using MarketDataServer.Authorization;
namespace MarketDataServer
{
class Program
{
static void Main(string[] args)
{
String logFileName="marketdataserver";
Authorizations.GetInstance().IsEnabled=false;
WebApplicationBuilder builder = WebApplication.CreateBuilder(args);
// Add services to the container.
GlobalConfig.Instance.Configuration = builder.Configuration;
String baseAddress = GlobalConfig.Instance.Configuration["server_address"];
CreateLogging(logFileName);
MDTrace.WriteLine(MarketData.LogLevel.DEBUG,$"Server Address:{baseAddress}");
builder.Services.AddControllers();
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen( config =>
{
config.ResolveConflictingActions (apiDescriptions => apiDescriptions.First ());
});
WebApplication webApplication = builder.Build();
// Configure the HTTP request pipeline.
if (webApplication.Environment.IsDevelopment()||webApplication.Environment.IsProduction() )
{
webApplication.UseSwagger();
webApplication.UseSwaggerUI();
}
webApplication.UseHttpsRedirection();
webApplication.UseAuthorization();
webApplication.MapControllers();
webApplication.MapControllerRoute(name: "default",pattern: "api/{controller}/{action}/{id?}");
webApplication.Run(baseAddress);
}
private static bool CreateLogging(String task)
{
if(String.IsNullOrEmpty(task))return false;
task=task.ToLower();
MDTrace.LogLevel = MarketData.LogLevel.DEBUG;
String logFolder = "/logs";
DateTime currentDate=DateTime.Now;
String strLogFile = "marketdata_" + task + ".log";
String currentWorkingDirectory = Directory.GetCurrentDirectory();
Console.WriteLine($"Current directory is {currentWorkingDirectory}");
Utility.EnsureLogFolder(currentWorkingDirectory+logFolder);
Utility.ExpireLogs(currentWorkingDirectory+logFolder,1);
Trace.Listeners.Remove("Default");
Console.WriteLine($"Adding Trace Listener :{currentWorkingDirectory+logFolder+"/"+strLogFile}");
Trace.Listeners.Add(new TextWriterTraceListener(currentWorkingDirectory+logFolder+"/"+strLogFile));
MDTrace.WriteLine($"Trace Listener added.");
Utility.ShowLogs(currentWorkingDirectory + logFolder);
return true;
}
}
}