Ejemplo n.º 1
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
                app.UseWebpackDevMiddleware();
            }
            else
            {
                app.UseHsts();
            }
            app.UseMiddleware <ExceptionMiddleware>();
            app.UseStaticFiles();
            app.UseHttpsRedirection();
            app.UseMvc();
            ServerConfigurator.InitializeMapper();

            app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "DefaultApi",
                    template: "api/{controller}/{action}");
                routes.MapSpaFallbackRoute("spa-fallback", new { controller = "Home", action = "Index" });
            });
        }
Ejemplo n.º 2
0
        public static void Main(string[] args)
        {
            if (args.Length == 0)
            {
                ServerConfigurator.CreateServer();
            }

            else
            {
                switch (args[0].ToLower())
                {
                case "c":
                    new Client().RunDummyClient();
                    break;

                case "s":
                    ServerConfigurator.CreateServer();
                    break;

                case "cm":
                    new Client().RunAdvancedClient();
                    break;

                default:
                    ServerConfigurator.CreateServer();
                    break;
                }
            }
        }
Ejemplo n.º 3
0
        public Server()
        {
            databaseManager      = new DBManager();
            sMessageParseManager = new SMessageParseManager();
            ecdhrsaProvider      = new ECDHRSAProvider();
            ServerConfigurator   = new ServerConfigurator();

            init();
        }
        /// <summary>
        /// Add grpc hosted service with configuration
        /// </summary>
        /// <param name="collection"></param>
        /// <param name="cfg"></param>
        /// <returns></returns>
        public static IServiceCollection AddGrpcHostedService(this IServiceCollection collection, Action <ServerConfigurator> cfg)
        {
            // apply configuration
            ServerConfigurator configurator = new ServerConfigurator();

            collection.AddGrpcHostedService(configurator, cfg);

            // return
            return(collection);
        }
        /// <summary>
        /// Add grpc server
        /// </summary>
        /// <param name="collection"></param>
        /// <param name="cfg"></param>
        /// <returns></returns>
        public static IServiceCollection AddGrpcServer(this IServiceCollection collection, Action <ServerConfigurator> cfg)
        {
            // apply configuration
            ServerConfigurator configurator = new ServerConfigurator();

            cfg?.Invoke(configurator);

            // register host
            collection.AddSingleton(provider => new GrpcHost(provider, configurator.Configuration));
            return(collection);
        }
Ejemplo n.º 6
0
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc();

            services.AddDbContext <RepositoryContext>(options =>
                                                      options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
            ServerConfigurator.ConfigureRepositoryDI(services, Configuration);
            ServerConfigurator.ConfigureServiceDI(services);

            services.AddAuthentication(BasicAuthenticationDefaults.AuthenticationScheme)
            .AddScheme <AuthenticationSchemeOptions, BasicAuthenticationHandler>("Basic", null);
        }
Ejemplo n.º 7
0
        /// <summary>
        /// Get server configurators
        /// </summary>
        /// <param name="serversConfigurations"></param>
        /// <returns></returns>
        public static List <ServerConfigurator> ToServerConfigurators(this List <ServerConfiguration> serversConfigurations)
        {
            return(serversConfigurations?.Select(config => {
                // create builder
                ServerConfigurator builder = new ServerConfigurator();

                // set name
                if (!string.IsNullOrWhiteSpace(config.Name))
                {
                    builder.SetName(config.Name);
                }

                // enble status service
                if (config.EnableStatusService)
                {
                    builder.AddStatusService();
                }

                // set server options
                if (config.Options != null)
                {
                    builder.SetOptions(config.Options);
                }
                ;

                // get services
                config.Services?.Distinct().ToList().ForEach(svc => {
                    builder.AddService(svc);
                });

                // set host connection
                if (config.Host != null)
                {
                    builder.SetConnection(config.Host);
                }

                // return
                return builder;
            }).ToList());
        }
        /// <summary>
        /// Add grpc hosted service with configurator and configuration
        /// </summary>
        /// <param name="collection"></param>
        /// <param name="configurator"></param>
        /// <param name="setupAction"></param>
        /// <returns></returns>
        internal static IServiceCollection AddGrpcHostedService(this IServiceCollection collection, ServerConfigurator configurator,
                                                                Action <ServerConfigurator> setupAction = null)
        {
            // apply configuration
            setupAction?.Invoke(configurator);

            // register host
            collection.AddSingleton(provider => new GrpcHost(provider, configurator.Configuration));

            // add hosted service
            collection.AddSingleton <IHostedService, GrpcHostedService>(provider =>
                                                                        new GrpcHostedService(provider.GetServices <GrpcHost>().First(h => h.Name == configurator.Configuration.Name)));

            // return
            return(collection);
        }