Example #1
0
        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();
        }
Example #2
0
        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
        }
Example #3
0
        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();
        }