Exemple #1
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env, DataContext context, ILoggerFactory loggerFactory)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            app.UseCors(builder => builder
                        .AllowAnyOrigin()
                        .AllowAnyMethod()
                        .AllowAnyHeader()
                        );

            app.UseHttpsRedirection();

            app.UseRouting();

            app.UseAuthorization();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllers();
            });

            DBInitialize.Initialize(context: context);

            app.UseProblemDetailsExceptionHandler(loggerFactory);

            ConfigureSwagger(app, env);
        }
        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
                DBInitialize.Initialize(app);
            }

            if (env.IsStaging())
            {
                // code to be executed in staging environment
            }

            if (env.IsProduction())
            {
                // code to be executed in production environment
            }

            #region Swagger
            app.UseSwagger();
            app.UseSwaggerUI(c =>
            {
                c.SwaggerEndpoint("/swagger/v1/swagger.json", "OnionArchitecture API");
                c.RoutePrefix = string.Empty;
            });
            #endregion

            app.UseAuthentication();
            app.UseMvc();
        }
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
        {
            loggerFactory.AddConsole(Configuration.GetSection("Logging"));
            loggerFactory.AddDebug();

            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
                app.UseBrowserLink();
            }
            else
            {
                app.UseExceptionHandler("/Home/Error");
            }

            app.UseStaticFiles();

            app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "default",
                    template: "{controller=Home}/{action=Index}/{id?}");
            });

            DBInitialize.EnsureCreated(app.ApplicationServices);
        }
Exemple #4
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, DatabaseContext context, UserManager <User> userManager, RoleManager <IdentityRole> roleManager)
        {
            loggerFactory.AddConsole(Configuration.GetSection("Logging"));
            loggerFactory.AddDebug();

            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
                app.UseBrowserLink();
            }
            else
            {
                app.UseExceptionHandler("/Home/Error");
            }

            app.UseIdentity();
            app.UseStaticFiles();

            app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "default",
                    template: "{controller=Login}/{action=Login}/{id?}");
            });
            DBInitialize.Initialize(context, userManager, roleManager);
        }
        private void Button_注册_Click(object sender, RoutedEventArgs e)
        {
            string        registerCode = TextBox_注册.Text.Trim().ToUpper();
            UsbController usb          = new Helper.Tools.UsbController();
            string        date         = DateTime.Now.ToString("yyyyMMdd");
            string        orginCode    = "StoneAnt.PA" + date + usb.getSerialNumberFromDriveLetter();
            string        validateCode = Secure.GetMD5_32(orginCode).ToUpper();

            if (registerCode.Equals(validateCode))
            {
                rg.UpdateSoftwareVersionStatus((int)ENUM.EM_SOFTWARESTATE.已注册);
                rg.UpdateSoftwareRegisterCode(registerCode);
                //注册后加密数据库
                DBInitialize.ChangeDBPassword();
                xw.WriteXML("注册", "true");

                MessageBoxCommon.Show("注册成功!");
                this.LoadPage();
                Grid_Register.Visibility = Visibility.Collapsed;
            }
            else
            {
                MessageBoxCommon.Show("注册码不准确,请联系开发商!");
            }
        }
 private void Button_解密_Click(object sender, RoutedEventArgs e)
 {
     DBInitialize.ClearPassword();
     File.Copy(DBInitialize.dataSource, "Data\\DataWithoutPassword.db", true);
     new XMLWriter().WriteXML("注册", "false");
     DBInitialize.ChangeDBPassword();
     new XMLWriter().WriteXML("注册", "true");
     Log.Write("成功拷贝机密文件");
     MessageBoxCommon.Show("拷贝成功!");
 }
Exemple #7
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env,
                              ILoggerFactory loggerFactory, IPCS.Repositories.Context.IPCSContext context,
                              UserManager <User> userManager)
        {
            loggerFactory.AddConsole(Configuration.GetSection("Logging"));
            loggerFactory.AddFile(Configuration.GetSection("LoggingFile"));

            loggerFactory.AddDebug();

            if (string.IsNullOrWhiteSpace(env.WebRootPath))
            {
                env.WebRootPath = System.IO.Path.Combine(Directory.GetCurrentDirectory(), "wwwroot");
            }

            UseIdentityServerAuthenticationOptions opt = new UseIdentityServerAuthenticationOptions();

            Configuration.GetSection("UseIdentityServerAuthenticationOptions").Bind(opt);

            app.UseIdentityServerAuthentication(new IdentityServerAuthenticationOptions
            {
                Authority             = opt.Authority,
                ApiName               = opt.ApiName,
                RequireHttpsMetadata  = opt.RequireHttpsMetadata,
                AutomaticAuthenticate = opt.AutomaticAuthenticate,
                AutomaticChallenge    = opt.AutomaticChallenge,
                RoleClaimType         = ClaimTypes.Role,
                EnableCaching         = opt.EnableCaching,
                AuthenticationScheme  = opt.AuthenticationScheme,
                SupportedTokens       = IdentityServer4.AccessTokenValidation.SupportedTokens.Jwt,
                JwtBearerEvents       = new CustomJwtBearerEvents()
            });

            app.UseCors("CorsPolicy");

            app.UseMvc();


            var pathUploadProjectFolder = Path.Combine(env.WebRootPath, "upload", "project");

            if (!Directory.Exists(pathUploadProjectFolder))
            {
                Directory.CreateDirectory(pathUploadProjectFolder);
            }

            app.UseStaticFiles(new StaticFileOptions()
            {
                FileProvider = new PhysicalFileProvider(
                    Path.Combine(env.WebRootPath, "upload", "project")),
                RequestPath = new PathString("/project")
            });

            DBInitialize.Seed(context, userManager, Configuration.GetValue <bool>("SEED"));
        }
Exemple #8
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env,
                              ILoggerFactory loggerFactory, IPCSOAuthContext context, UserManager <User> userManager)
        {
            loggerFactory.AddConsole(Configuration.GetSection("Logging"));
            loggerFactory.AddFile(Configuration.GetSection("LoggingFile"));
            loggerFactory.AddDebug();

            app.UseIdentity();
            app.UseIdentityServer();

            app.UseCors("CorsPolicy");
            app.UseMvc();
            DBInitialize.Seed(context, userManager);
        }
Exemple #9
0
        public IActionResult CreateDB()
        {
            var result = DBInitialize.SeedDatabase(_context);
            CreateDBViewModel createDBViewModel = new CreateDBViewModel();

            if (result)
            {
                createDBViewModel.Finished = _stringLocalizer["DataEntered"];
            }
            else
            {
                createDBViewModel.Finished = _stringLocalizer["NoDataEntered"];
            }
            return(View(createDBViewModel));
        }
Exemple #10
0
        public static void Main(string[] args)
        {
            var host = CreateHostBuilder(args).Build();

            using (var scope = host.Services.CreateScope())
            {
                var services = scope.ServiceProvider;
                try
                {
                    var companyDBContext = scope.ServiceProvider.GetService <MyCompanyDbContext>();
                    DBInitialize.SeedData(companyDBContext);
                }
                catch (Exception ex)
                {
                    var logger = services.GetRequiredService <ILogger <Program> >();
                    logger.LogError(ex, "An error occurred while seeding the Database");
                }
            }

            host.Run();
        }
Exemple #11
0
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            WebApiConfig.Register(GlobalConfiguration.Configuration);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            DBInitialize.CreatDefaultTableData();//首次启动程序会因为去创建DBContext中的Dynamic模型而费时间,但是启动起来了就OK了。

            //这里做一个开关,项目不涉及到的时候关闭,避免影响效率
            if (Convert.ToBoolean(ConfigurationManager.AppSettings["DynamicModelSwitch"]))
            {
                EnterPageInitialize.CreateInstance(EnterPageInitialize.ConfigProviderCreate());//启动报名页面修改的单例对象,提上同理。
            }

            //ContainerBuilder builder = new ContainerBuilder();
            //builder.RegisterControllers(Assembly.GetExecutingAssembly());
            //builder.RegisterAssemblyTypes(Assembly.GetExecutingAssembly()).AsImplementedInterfaces();
            //var container = builder.Build();
            //DependencyResolver.SetResolver(new AutofacDependencyResolver(container));

            var builder    = new ContainerBuilder();
            var assembly   = Assembly.GetExecutingAssembly();
            var BllService = System.Reflection.Assembly.Load("Yuruisoft.RS.BLL");//类似于RegisterType的形式注册,被注册类型可以不是直接引用,但是必须被加载

            //var dbModel = System.Reflection.Assembly.Load("Yuruisoft.RS.Model");
            builder.RegisterAssemblyTypes(BllService, BllService).AsImplementedInterfaces();
            //builder.RegisterAssemblyTypes(dbModel, dbModel).AsImplementedInterfaces();

            builder.RegisterControllers(typeof(MvcApplication).Assembly);
            var container = builder.Build();

            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));

            #region 线程与异步管理
            log4net.Config.XmlConfigurator.Configure(new System.IO.FileInfo(Server.MapPath("/App_Data/Config/Log4net.Config/log4net.Config.xml")));//读取配置信息
            //string fileLogPath = Server.MapPath("App_Data/Log/");
            //开启一个线程,扫描日志队列
            ThreadPool.QueueUserWorkItem((a) =>
            {
                while (true)
                {
                    if (MyExceptionAttribute.exceptonQueue.Count() > 0)              //判断是否有数据
                    {
                        Exception ex = MyExceptionAttribute.exceptonQueue.Dequeue(); //出队
                        if (ex != null)
                        {
                            //string fileName = DateTime.Now.ToString("yyyy-MM-dd") + ".txt";
                            //File.AppendAllText(fileLogPath + fileName, ex.ToString(), Encoding.Default);//将异常写到文件中,用追加
                            ILog logger = LogManager.GetLogger("errorMsg");
                            logger.Error(ex);//将异常信息写到磁盘上
                        }
                        else
                        {
                            Thread.Sleep(3000);//如果队列中没有数据,让当前线程休息,避免造成CPU空转
                        }
                    }
                    else
                    {                       //这里可以自定义
                        Thread.Sleep(3000); //如果队列中没有数据,让当前线程休息,避免造成CPU空转
                    }
                }
            });

            ThreadPool.QueueUserWorkItem((a) =>
            {//这里是更新键值对的操作
                while (true)
                {
                    if (ExtendMethord.OperateScoreCacheQueue.Count() > 0)
                    {
                        OperateScoreCache op = ExtendMethord.OperateScoreCacheQueue.Dequeue();
                        if (op != null)
                        {
                            op.ScoreCacheAddOne();
                        }
                        else
                        {
                            Thread.Sleep(3000);
                        }
                    }
                    else
                    {
                        Thread.Sleep(3000);
                    }
                }
            });
            ThreadPool.QueueUserWorkItem((a) =>
            {//这里是更新键值对的操作
                while (true)
                {
                    ExtendMethord.UpdateDB();
                    Thread.Sleep(3000);
                }
            });
            #endregion
        }