Ejemplo n.º 1
0
        static Program()
        {
            var services = new ServiceCollection();

            services
            .AddLogging()
            .AddRpcCore()
            .AddClientProxy();

            var provider = services.BuildServiceProvider();

            var loggerFactory = provider.GetRequiredService <ILoggerFactory>();

            //loggerFactory
            //    .AddConsole();

            Logger = loggerFactory.CreateLogger <Program>();

            ServiceProxyGenerater = provider.GetRequiredService <IServiceProxyGenerater>();

            AssemblyFiles =
                Directory.GetFiles(Path.Combine(AppContext.BaseDirectory, "assemblies"), "*.dll").ToArray();

            Assemblies = AssemblyFiles.Select(i =>
            {
                using (var stream = File.OpenRead(i))
                {
                    return(AssemblyLoadContext.Default.LoadFromStream(stream));
                }
            }).ToArray();

            Console.WriteLine("Successfully loaded the following assemblies");
            foreach (var name in Assemblies.Select(i => i.GetName().Name))
            {
                Console.WriteLine(name);
            }
        }
Ejemplo n.º 2
0
Archivo: Program.cs Proyecto: yaozd/Rpc
        static Program()
        {
            var services = new ServiceCollection();

            services
                .AddLogging()
                .AddRpcCore()
                .AddClientProxy();

            var provider = services.BuildServiceProvider();

            var loggerFactory = provider.GetRequiredService<ILoggerFactory>();
            loggerFactory
                .AddConsole();

            Logger = loggerFactory.CreateLogger<Program>();

            ServiceProxyGenerater = provider.GetRequiredService<IServiceProxyGenerater>();

            AssemblyFiles =
                Directory.GetFiles(Path.Combine(AppContext.BaseDirectory, "assemblies"), "*.dll").ToArray();

            Assemblies = AssemblyFiles.Select(i =>
            {
                using (var stream = File.OpenRead(i))
                {
                    return AssemblyLoadContext.Default.LoadFromStream(stream);
                }
            }).ToArray();

            Console.WriteLine("Successfully loaded the following assemblies");
            foreach (var name in Assemblies.Select(i => i.GetName().Name))
            {
                Console.WriteLine(name);
            }
        }