Example #1
0
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();

            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            // Boostrap application and make Autofac the DI container.
            BootStrapperManager.Initialize(new AutofacBootStrapper(Assembly.GetExecutingAssembly(), null));

            DisplayModeProvider.Instance.Modes.Insert(0, new DefaultDisplayMode("MobileHtml3")
            {
                ContextCondition = (context => GetDeviceType(context.GetOverriddenUserAgent()) == "html3")
            });

            DisplayModeProvider.Instance.Modes.Insert(1, new DefaultDisplayMode("MobileHtml4")
            {
                ContextCondition = (context => GetDeviceType(context.GetOverriddenUserAgent()) == "html4")
            });

            //ModelMetadataProviders.Current = new ConventionalModelMetadataProvider(
            //    requireConventionAttribute: false,
            //    defaultResourceType: typeof(MyResources.Resource)
            //);
        }
Example #2
0
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            // IOC的注入
            BootStrapperManager.Initialize(new NinjectBootstrapper());

            //Create a new mutex using specific mutex name
            //http://www.csharpwin.com/csharpspace/10656r1776.shtml
            bool bCreatedNew;
            var  mutex = new Mutex(false, "DotNet.SpiderApplication.Client", out bCreatedNew);

            if (bCreatedNew)
            {
                Application.Run(new Main());
            }
        }
        public void TestAzureGetWithSlash()
        {
            var downloader = new Mock<IPackageDownloader>();
            downloader.Setup(m => m.DownloadPackageToDisk(It.Is<Uri>(u => u.ToString().StartsWith(@"https://test.blob.core.windows.net/container/large.rar")),
                                                          It.Is<bool>(b => b == false),
                                                          It.Is<string>(s => string.Equals(s, @"C:\Temp")))).Verifiable();

            var runner = new Mock<IPackageRunner>();
            var unzipper = new Mock<IPackageUnzipper>();
            var logger = new Mock<ILogger>();

            //Test must be updated to start the Development storage or to replace with a real key or do more mocks work
            var args = new BootStrapperArgs()
            {
                Get = "/container/large.rar",
                LocalResource = @"C:\Temp",
                StorageConnection = @"UseDevelopmentStorage=true"
            };

            var manager = new BootStrapperManager(logger.Object, downloader.Object, runner.Object, unzipper.Object);
            manager.Start(args);

            downloader.VerifyAll();
        }
Example #4
0
 protected void Application_Start(object sender, EventArgs e)
 {
     // IOC的注入
     BootStrapperManager.Initialize(new NinjectBootstrapper());
 }
        public void TestUnzip()
        {
            var downloader = new Mock<IPackageDownloader>();
            downloader.Setup(m => m.DownloadPackageToDisk(It.IsAny<Uri>(), It.IsAny<bool>(), It.IsAny<string>())).Returns(@"C:\Temp\testing.zip").Verifiable();

            var runner = new Mock<IPackageRunner>();
            var unzipper = new Mock<IPackageUnzipper>();
            var logger = new Mock<ILogger>();

            unzipper.Setup(m => m.Unzip(It.Is<string>(s => string.Equals(s, @"C:\Temp\testing.zip")), It.Is<string>(s => s == @"C:\Temp"), It.Is<bool>(b => b == false))).Verifiable();

            var args = new BootStrapperArgs()
            {
                Get = "http://contoso.net/downloads/testing.zip",
                LocalResource = @"C:\Temp", // when run on bootstrapper.exe, this is assiged to whatever unziptarget is
                UnzipTarget = @"C:\Temp",
                Unzip = true
            };

            var manager = new BootStrapperManager(logger.Object, downloader.Object, runner.Object, unzipper.Object);
            manager.Start(args);

            unzipper.VerifyAll();
        }
        public void TestSimpleGet()
        {
            var uri = new Uri(@"http://contoso.com/installer.msi");

            var downloader = new Mock<IPackageDownloader>();
            downloader.Setup(m => m.DownloadPackageToDisk(It.Is<Uri>(u => u.Equals(uri)),
                                                          It.Is<bool>(b => b == false),
                                                          It.Is<string>(s => string.Equals(s, @"C:\Temp")))).Verifiable();

            var runner = new Mock<IPackageRunner>();
            var unzipper = new Mock<IPackageUnzipper>();
            var logger = new Mock<ILogger>();

            var args = new BootStrapperArgs()
            {
                Get = uri.ToString(),
                LocalResource = @"C:\Temp"
            };

            var manager = new BootStrapperManager(logger.Object, downloader.Object, runner.Object, unzipper.Object);
            manager.Start(args);

            downloader.VerifyAll();
        }
Example #7
0
        static void Main(string[] args)
        {
            #region
            HttpClient hc3   = new HttpClient("http://www.soxuan.com");
            var        html2 = hc3.Request();
            return;

            #endregion

            #region

            FileRead.Read();
            FileRead.Read("GetPromotionRulesByIdsWithoutRuleExpands");
            return;

            #endregion

            #region mongodb
            //var objectid= MongoDBOfficialTest.Insert(new ShoppingCartEntity(){CartId = "123",Ha = "ssss",Promotion = new PromotionEntity(){Date1="满赠新促销",Date2 = new List<string>(){"测试"}}});
            var objectid = new ObjectId("50e78f8c9e3eca2d6c538b9d");
            MongoDBOfficialTest.GetById(objectid);
            //MongoDBOfficialTest.GetById(objectid);

            //MongoDBTest.Insert(new ShoppingCartEntity(){CartId = "123456"});
            //MongoDBTest.GetById("123456");
            //MongoDBTest.Update(new ShoppingCartEntity(){CartId = "123456"});
            return;

            #endregion

            //var indexUrls= GoldSpider.GetUrls();
            //var urls= GoldSpider.Spider(indexUrls);
            //string json = JsonHelper.ToJson(urls);
            //File.WriteAllText(Environment.CurrentDirectory+"\\urls.json",json);

            var data       = JsonHelper.FromJson <List <string> >(File.ReadAllText(Environment.CurrentDirectory + "\\urls.json"));
            var finalDatas = GoldSpider.SpiderPrice(data);
            File.WriteAllText(Environment.CurrentDirectory + "\\data.json", JsonHelper.ToJson(finalDatas));
            return;

            //SqliteTest.Test();
            //string connectionstring1 = "Data Source=e:\\sqlite.db3";
            //string connectionstring2 = "Data Source=e:\\sqlite.db3;PRAGMA cache_size=10000";
            //SqliteTest.Query("select id from test1 limit 0,10000", connectionstring2);
            //SqliteTest.Query("select id from test1 limit 0,10000", connectionstring1);
            //SqliteTest.Query("select id from test1 limit 0,10000", connectionstring1);

            SqliteTest.Memory(100000);
            SqliteTest.MemoryQuery("select id from test1 limit 0,10000");
            return;

            WebBrowerManager.Instance.Setup(new cEXWB());
            WebBrowerManager.Instance.TimeOut       = 15;
            WebBrowerManager.Instance.FilterRequest = true;
            WebBrowerManager.Instance.FilterAction.Add(".css", (string key, string source) =>
            {
                if (source.EndsWith(key))
                {
                    return(true);
                }
                return(false);
            });
            string html1 = WebBrowerManager.Instance.Run("http://www.sge.sh/publish/sge/xqzx/jyxq/index.htm");

            Console.WriteLine(html1);
            Console.Read();
            return;

            TaskManager taskManager = new TaskManager();
            taskManager.Test02();
            Console.ReadKey();
            return;

            Process.Start("IExplore.exe", "www.northwindtraders.comTest");


            //
            //EncodingTest.Test();
            //return;
            using (HttpClient hc1 = new HttpClient("http://www.cnblogs.com"))
            {
                string html = hc1.Request();
            }

            //WebPage page = new WebPage(html, "http://www.cnblogs.com", Encoding.UTF8);
            //page.SaveHtmlAndResource(@"1.html", false, new DirConfig(@"z:\1"));

            //return;

            HttpClientTest.Test();
            return;

            SqliteTest.Test();

            var uri = new Uri("http://misc.360buyimg.com/lib/js/2012/base-v1.js");


            //WebBrowerManager.Instance.ToVisitUrls = new List<string> { "http://www.360buy.com" };
            WebBrowerManager.Instance.Setup(new cEXWB());
            WebBrowerManager.Instance.Run(uri.ToString());


            BootStrapperManager.Initialize(new NinjectBootstrapper());

            var add = CommonBootStrapper.ServiceLocator.GetInstance <Test>();
            //add.Alert("ceshi");
            add.Test1();


            HttpClient hc = new HttpClient("http://misc.360buyimg.com/lib/js/2012/base-v1.js");

            hc.SaveFile("e:\\1.js");

            hc.Request();
            hc.BeginRequest((h) =>
            {
                Console.Write(h);
            });
            Console.ReadKey();
            var s = hc.Request();

            var list = new List <UnionOrderTransBFD>();
            list.Add(new UnionOrderTransBFD()
            {
                ActualPrice = 1, CommissionPrice = 1, Rate = 1, Source = ">123", SONumber = 111111111111, UpdateDate = DateTime.Now
            });
            list.Add(new UnionOrderTransBFD()
            {
                ActualPrice = 1, CommissionPrice = 1, Rate = 1, Source = ">123", SONumber = 111111111111, UpdateDate = DateTime.Now
            });

            var xml = ObjectXmlSerializer.ToXml(list, "ccc", true, false);

            var a = new A();
            a.name = 1;
            //a.ObjectB = new B() { ItemCode = "1", Qty = 1 };
            var b = new A();
            b.name = 1;
            //b.ObjectB = new B() { ItemCode = "1", Qty = 1 };
            var isEqual = DotNet.Common.Utility.GenericEqualityComparer <A> .Equals(a, b);

            Console.WriteLine(isEqual);
        }
Example #8
0
        static void Main(string[] args)
        {
            // IOC的注入
            BootStrapperManager.Initialize(new NinjectBootstrapper());

            WebBrowerManager.Instance.Setup(new cEXWB());
            WebBrowerManager.Instance.FilterRequest = true;
            WebBrowerManager.Instance.FilterAction.Add(
                ".css",
                (string key, string source) =>
            {
                if (source.EndsWith(key))
                {
                    return(true);
                }

                return(false);
            });
            WebBrowerManager.Instance.FilterAction.Add(
                ".aspx",
                (string key, string source) =>
            {
                if (source.Contains(key))
                {
                    return(true);
                }

                return(false);
            });
            WebBrowerManager.Instance.FilterAction.Add(
                ".ashx",
                (string key, string source) =>
            {
                if (source.Contains(key))
                {
                    return(true);
                }

                return(false);
            });
            WebBrowerManager.Instance.FilterAction.Add(
                "http://wiki.360buy.com",
                (string key, string source) =>
            {
                if (source.StartsWith(key))
                {
                    return(true);
                }

                return(false);
            });
            WebBrowerManager.Instance.FilterAction.Add(
                "http://chat.360buy.com",
                (string key, string source) =>
            {
                if (source.StartsWith(key))
                {
                    return(true);
                }

                return(false);
            });

            while (Process.GetCurrentProcess().WorkingSet64 / 1024 / 1024 < 100)
            {
                Console.WriteLine(Process.GetCurrentProcess().WorkingSet64 / 1024 / 1024);
                try
                {
                    var common      = CommonBootStrapper.GetInstance <ICommonSpider>();
                    var spiderTasks = common.GetSpiderTask(20);
                    if (spiderTasks == null || spiderTasks.Count == 0)
                    {
                        Process.GetCurrentProcess().Kill();
                        return;
                    }

                    int i = 0;
                    var serverToClient = CommonBootStrapper.GetInstance <ISpiderClientToManageClient>();
                    foreach (var spiderProductInfo in spiderTasks)
                    {
                        i++;
                        var document = WebBrowerManager.Instance.Brower(spiderProductInfo.Url);
                        serverToClient.TransferData(new SpiderResult()
                        {
                            Url        = document.Url,
                            TaskCount  = spiderTasks.Count,
                            Current    = i,
                            HtmlSource = document.HtmlSource,
                            Title      = document.Title,
                            Elapse     = document.Elapse,
                            Charset    = document.Encoding
                        });
                        if (i == 1)
                        {
                            serverToClient.ReportIEVersion(WebBrowerManager.Instance.IEVersion);
                        }
                    }
                }
                catch (Exception exception)
                {
                    Process.GetCurrentProcess().Kill();
                }
            }

            Process.GetCurrentProcess().Kill();
        }