Beispiel #1
0
        static Html()
        {
            Cache = new SegmentArray <Html>(8);
            int urlIndex = AutoCSer.Web.Config.Search.HtmlPath.Length;

            foreach (FileInfo htmlFile in new DirectoryInfo(AutoCSer.Web.Config.Search.HtmlPath).GetFiles("*.html", SearchOption.AllDirectories))
            {
                Html html = getHtml(htmlFile);
                if (html != null)
                {
                    html.Url = htmlFile.FullName.Substring(urlIndex).Replace('\\', '/');
                    urls.Add(html.Url.FileNameToLower(), html);
                    html.Id = Cache.GetIndex(html);
                    Searcher.SearchTaskQueue.Add(new Queue.Append(new DataKey {
                        Id = html.Id, Type = DataType.HtmlTitle
                    }, html.Title));
                    Searcher.SearchTaskQueue.Add(new Queue.Append(new DataKey {
                        Id = html.Id, Type = DataType.HtmlBodyText
                    }, html.Text));
                    foreach (HtmlImage image in html.Images)
                    {
                        image.GetIndex(html.Id);
                        Searcher.SearchTaskQueue.Add(new Queue.Append(new DataKey {
                            Id = image.Id, Type = DataType.HtmlImage
                        }, image.Title));
                    }
                }
            }

            htmlWatcher = new FileSystemWatcher(AutoCSer.Web.Config.Search.HtmlPath, "*.html");
            htmlWatcher.IncludeSubdirectories = false;
            htmlWatcher.EnableRaisingEvents   = true;
            htmlWatcher.Created += onCreatedHtml;
            htmlWatcher.Deleted += onDeleteHtml;
        }