Пример #1
0
        private static Ebookdz_MainForumManager_v1 CreateMainForumManager(XElement xe)
        {
            //WebDataPageManager<int, Ebookdz_ForumPage, Ebookdz_Forum> forumWebDataPageManager = new WebDataPageManager<int, Ebookdz_ForumPage, Ebookdz_Forum>();
            Ebookdz_MainForumManager_v1 mainForumManager = new Ebookdz_MainForumManager_v1();

            mainForumManager.WebLoadDataManager = new WebLoadDataManager <Ebookdz_ForumPage_v1>();
            //
            //if (xe.zXPathValueBool("UseUrlCache", false))
            if (xe.zXPathValue("UseUrlCache").zTryParseAs(false))
            {
                UrlCache urlCache = new UrlCache(xe.zXPathValue("CacheDirectory"));
                urlCache.UrlFileNameType = zurl.GetUrlFileNameType(xe.zXPathValue("CacheUrlFileNameType"));
                //urlCache.GetUrlSubDirectoryFunction = httpRequest => (GetPostDetailKey(httpRequest) / 1000 * 1000).ToString();
                mainForumManager.WebLoadDataManager.UrlCache = urlCache;
            }
            mainForumManager.WebLoadDataManager.InitLoadFromWeb          = EbookdzLogin_v1.InitLoadFromWeb;
            mainForumManager.WebLoadDataManager.GetHttpRequestParameters = EbookdzLogin_v1.GetHttpRequestParameters;
            mainForumManager.WebLoadDataManager.GetData = GetData;
            //detailWebDataManager.GetKeyFromHttpRequest = GetPostDetailKey;
            //detailWebDataManager.LoadImages = DownloadPrint.LoadImages; // IPost

            //if (xe.zXPathValueBool("UseMongo", false))
            if (xe.zXPathValue("UseMongo").zTryParseAs(false))
            {
                MongoDocumentStore_v4 <int, Ebookdz_ForumPage_v1> documentStore = new MongoDocumentStore_v4 <int, Ebookdz_ForumPage_v1>(xe.zXPathValue("MongoServer"), xe.zXPathValue("MongoDatabase"), xe.zXPathValue("MongoCollection"), xe.zXPathValue("MongoDocumentItemName"));
                //documentStore.DefaultSort = "{ 'download.id': 1 }";
                documentStore.DefaultSort = xe.zXPathValue("MongoDefaultSort");
                //documentStore.GetDataKey = headerPage => headerPage.GetKey();
                //documentStore.Deserialize = document => (IEnumDataPages_new<int, IHeaderData_new>)BsonSerializer.Deserialize<Ebookdz_HeaderPage>(document);
                mainForumManager.DocumentStore = documentStore;
            }
            mainForumManager.GetHttpRequestPage = _GetHttpRequestPage;
            return(mainForumManager);
        }
Пример #2
0
 static Ebookdz_MainForumManager_v1()
 {
     __currentMainForumManager = CreateMainForumManager(XmlConfig.CurrentConfig.GetElement("Ebookdz/Forum"));
 }