using System; using System.Linq; using System.Net; using Example.Backend; using Example.Shared; using mROA.Abstract; using mROA.Cbor; using mROA.Codegen; using mROA.Implementation; using mROA.Implementation.Backend; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; class Program { public static void Main(string[] args) { var builder = Host.CreateApplicationBuilder(); builder.Services.AddSingleton(); builder.Services.AddSingleton(); builder.Services.AddSingleton(); builder.Services.AddSingleton(); builder.Services.AddSingleton(); builder.Services.AddOptions(); var listening = new IPEndPoint(IPAddress.Any, 4567); builder.Services.Configure(options => options.Endpoint = listening); builder.Services.AddSingleton(); builder.Services.AddSingleton(); builder.Services.AddSingleton(); builder.Services.AddSingleton(); builder.Services.AddSingleton(provider => new MultiClientInstanceRepository(i => { var producer = provider.GetService(); var repo = new InstanceRepository(producer); repo.FillSingletons(typeof(PrinterFactory).Assembly); return repo; })); builder.Services.AddSingleton(p => { var methodRepo = new CollectableMethodRepository(); methodRepo.AppendInvokers(new GeneratedInvokersCollection()); return methodRepo; }); builder.Services.AddSingleton(); builder.Services.AddSingleton(); var host = builder.Build(); host.Services.GetService(); // // builder.Build(); // new RemoteTypeBinder(); // // _ = host.Services.GetService()!.Start(); var gateway = host.Services.GetService(); gateway.Run(); Console.ReadLine(); } }