static void Main(string[] args) { //Console.WriteLine(File.Exists("config/log4net.xml")); string baseDirectory = AppDomain.CurrentDomain.BaseDirectory; //注册Log4Net LogUtility.Register(Path.Combine(baseDirectory, "config/log4net.xml")); //注册NHibernate NSessionFactoryManager.GetInstance(NSessionFactoryManager.SessionFactory.SweetFly) .Register("config/hibernate/sweetFly.cfg.xml", typeof(Product).Assembly); NSessionFactoryManager.GetInstance(NSessionFactoryManager.SessionFactory.Cmrcn) .Register("config/hibernate/cmrcn.cfg.xml", typeof(ExamItem).Assembly); //注册Castle WindsorUtility.Instance.Register(); //启动计划任务 QuartzUtility.GetInstance().Start(Path.Combine(baseDirectory, "config", "Cmr.Crawler.xml")); Console.WriteLine("开始执行"); Console.ReadKey(); }
protected void Application_Start() { //注册区域 AreaRegistration.RegisterAllAreas(); //注册路由 WebApiConfig.Register(GlobalConfiguration.Configuration); RouteConfig.RegisterRoutes(RouteTable.Routes); //注册Filters FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); //设置视图格式 ViewEngines.Engines.Clear(); ViewEngines.Engines.Add(new RazorViewEngine()); //设置API返回格式 GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear(); //注册Log4Net LogUtility.Register(Server.MapPath("~/config/log4net.xml")); //注册NHibernate NSessionFactoryManager.GetInstance(NSessionFactoryManager.SessionFactory.SweetFly) .Register(Server.MapPath("~/config/hibernate/sweetFly.cfg.xml"), typeof(Product).Assembly); NSessionFactoryManager.GetInstance(NSessionFactoryManager.SessionFactory.Cmrcn) .Register(Server.MapPath("~/config/hibernate/cmrcn.cfg.xml"), typeof(ExamItem).Assembly); //注册Castle WindsorUtility.Instance.Register(); //注册ControllerFactory ControllerBuilder.Current.SetControllerFactory(new WindsorControllerFactory()); GlobalConfiguration.Configuration.Services.Replace(typeof(IHttpControllerActivator), new WindsorApiControllerActivator()); //注册处理程序 GlobalConfiguration.Configuration.MessageHandlers.Add(new TraceHandler()); //config.EnableSystemDiagnosticsTracing(); #if !DEBUG //启动计划任务 QuartzUtility.GetInstance().Start(Server.MapPath("~/config/Cmr.Crawler.xml")); #endif }
private static void Main(string[] args) { #region JavaScriptSerializer //var model = new FindListRequest() //{ // Ids= new List<int>() { 2, 3, 5 } //}; //var jss = new JavaScriptSerializer(); //Console.WriteLine(jss.Serialize(model)); //Console.ReadKey(); #endregion JavaScriptSerializer NSessionFactoryManager.GetInstance(NSessionFactoryManager.SessionFactory.Cmrcn).Register(@"config\hibernate\cmrcn.cfg.xml", typeof(ExamItem).Assembly); //生成xml文件 // HbmSerializer.Default.Serialize(typeof(LoginInfoDetail).Assembly, "Domain.hbm.xml"); WindsorUtility.Instance.Register(); LogUtility.Register(@"config\log4net.xml"); #region 初始化 //var repository = new LoginInfoRepository(); //var loginInfoRepository = new LoginInfoRepository(); //var model = new LoginInfo() // { // CreateTime = DateTime.Now, // DelFlag = false, // LastLoginTime = DateTime.Now, // ModifyTime = DateTime.Now, // UserName = "******", // Password = "******" // }; //var inserted = loginInfoRepository.Insert(model); //if (inserted != null) //{ // Console.WriteLine("Success:" + inserted.Id); //} //else //{ // Console.WriteLine("Failed"); //} #endregion 初始化 #region 测试GetCurrentSession //var session1 = NHibernateUtility.GetInstance().OpenSession(); //var session2 = NHibernateUtility.GetInstance().OpenSession(); //ThreadPool.QueueUserWorkItem((status) => //{ // var session3 = NHibernateUtility.GetInstance().OpenSession(); // var session4 = NHibernateUtility.GetInstance().OpenSession(); // }); #endregion 测试GetCurrentSession #region 测试效率 //var rnd = new Random(); //var repository = new LoginInfoRepository(); //var list = new List<LoginInfo>(); //for (int i = 0; i < 100; i++) //{ // var model = new LoginInfo() // { // CreateTime = DateTime.Now, // DelFlag = false, // LastLoginTime = DateTime.Now, // ModifyTime = DateTime.Now, // UserName = i.ToString(), // Password = i.ToString() // }; // list.Add(model); //} ////====================================== //var watch = new Stopwatch(); //watch.Start(); ////第一种方法 21000 //foreach (var m in list) //{ // repository.Insert(m); //} //第二种方式 23000 //repository.Insert(list); //第三种方式 //repository.InsertTransaction(list); //第四种方式 不可用 //using (var trans = repository.Transaction) //{ // trans. // foreach (var m in list) // { // repository.Insert(m); // } // trans.Commit(); //} // var linq = repository.LoadEntities(x => x.Id > 1); // Console.WriteLine(linq.Count()); #region TransactionScope //using (TransactionScope tsCope = new TransactionScope()) //{ // repository.Insert(new LoginInfo() // { // UserName = "******", // Password = "******", // CreateTime = DateTime.Now, // DelFlag = false, // LastLoginTime = DateTime.Now, // ModifyTime = DateTime.Now // }); // tsCope.Complete(); //} #endregion TransactionScope // watch.Stop(); // Console.WriteLine("花费时间:" + watch.ElapsedMilliseconds); #endregion 测试效率 #region 修改数据库 // var examItemRepository = WindsorUtility.Instance.Resolve<ICmrcnRepository<ExamItem>>(); //var model = new ExamItem() //{ // Id = 3, // Answer = "answer", // CreateTime = DateTime.Now, // DelFlag = false, // Module_Id = 1, // OriginalHtml = "html", // Title = "title" //}; //examItemRepository.Insert(model); //var count =examItemRepository.LoadEntities(x => x.Id > 0).Count(); //Console.WriteLine(count); // var productService = WindsorUtility.Instance.Resolve<IProductService>(); #endregion 修改数据库 #region 修改数据 //var repository = WindsorUtility.Instance.Resolve<ICmrcnRepository<ItemType>>(); //var entity = repository.LoadEntities(x => x.Id == 4).FirstOrDefault(); //entity.Text = "论述题"; //repository.Update(entity); //var list = repository.LoadEntities(x => x.Id > 0).ToList(); //foreach (var l in list) //{ // Console.WriteLine(l.Text); //} #endregion 修改数据 #region 测试反射效率 //Stopwatch watch = new Stopwatch(); //watch.Start(); //string strHandler = @"SweetFly.Job.Handler.MaoDengSanHandler,SweetFly.Job"; //for (var i = 0; i < 1000; ++i) //{ // int a = Convert.ToInt32("222"); // var type = Type.GetType(strHandler); //可以忽略 1000次 6ms // //var handler = Activator.CreateInstance(type); //创建对象比较耗时 1000次 110ms //} //watch.Stop(); //Console.WriteLine("Watch: " + watch.ElapsedMilliseconds); #endregion 测试反射效率 //QuartzUtility.GetInstance().Start(@"config\Cmr.Crawler.xml"); #region 测试Handler,生成Xml文件 //var handler = new MaoDengSanHandler(); //var config = new CmrConfig(); //config.Subjects = new List<Subject>(); //config.Subjects.Add(new Subject() // { // Id = 1, // Enabled = true, // LoginInfo = new Job.Models.Cmr.LoginInfo() // { // Authorization = "2222" // } // }); //config.Subjects.First().SubjectModules = new List<SubjectModule>() // { // new SubjectModule() // { // Handler = typeof(CmrConfig).ToString(), Id = 22, HtmlDataSource = new HtmlDataSource() // { // Encoding = "GB2312", Uri = "http://11111.com" // } // } // }; //string fileName ="cmrConfig.xml"; //var xs = new XmlSerializer(config.GetType()); //using (var fsWriter = File.OpenWrite(fileName)) //{ // xs.Serialize(fsWriter, config); //} //Process.Start(fileName); #endregion 测试Handler,生成Xml文件 #region 测试配置文件 //CmrConfig config = null; //var xs = new XmlSerializer(typeof(CmrConfig)); //using (var fsRead = File.OpenRead("cmrConfig.xml")) //{ // config = xs.Deserialize(fsRead) as CmrConfig; //} //if (config == null) //{ // Console.WriteLine("Null"); //} //else //{ // Console.WriteLine("OK"); //} #endregion 测试配置文件 #region 编写新的网页处理类 //string strResponse = File.ReadAllText("Response2.html",Encoding.GetEncoding("GB2312")); //var handler = new OldHandler(); //var list = handler.Process(strResponse, 0); #endregion 编写新的网页处理类 #region 测试Lazy //var response = WindsorUtility.Instance.Resolve<IExamItemService>(); //response.Count(new ExamItemSearch() { ModuleId = 3 }); ////可以延迟执行 #endregion 测试Lazy #region 测试执行 SQL var repository = new CmrcnRepository <ItemType>(); string sql = @"create table test ( Id int null, Name varchar(32) null )"; //var result = repository.ExecuteNonQuery("insert into ItemType(Text,Subject_Id) values (\"Test\",2)"); var result = repository.ExecuteNonQuery(sql); Console.WriteLine(result); #endregion 测试执行 SQL Console.WriteLine("OK"); Console.ReadKey(); }