亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

使用windows服務更新站點地圖

2019-11-17 03:13:45
字體:
來源:轉載
供稿:網友

使用windows服務更新站點地圖

由于公司平臺訪問人數逐漸增多,公司項目的數據庫已經幾次出現宕機現象。為減輕數據庫壓力,我上個月對公司項目做了下調整。把新聞板塊提取出來單獨一個站點,單獨一個數據庫。減少了主站點和數據庫的負擔和壓力。

但放在線上一個月,新聞新的發布數量最少已經有500篇左右。百度只收錄了70個左右,于是想到可能是沒有站點地圖造成的。但怎么定時更新站點地圖呢?

我嘗試使用windows服務來定時更新站點地圖。

=====================進入正題=============================

首先需要了解下幾個問題。

1、百度收錄的站點地圖(sitemap)的格式。詳情請查看該鏈接:查看

目前我只用到了xml格式的站點地圖,就講下xml格式的站點地圖。

xml格式:

各個標簽的解釋:

<loc>www.example1.com</loc>該頁的網址。該值必須少于256個字節(必填項)。格式為<loc>您的url地址</loc>

<lastmod>2010-01-01</lastmod>該文件上次修改的日期(選填項)。格式為<lastmod>年-月-日</lastmod>

<changefreq>always</changefreq>頁面可能發生更改的頻率(選填項)。

有效值為:always、hourly、daily、weekly、monthly、yearly、never

<PRiority>1.0</priority>此網頁的優先級。有效值范圍從0.0到1.0(選填項)。0.0優先級最低、1.0最高。

2、站點地圖更新的頻率問題

由于公司新聞更新一般時間固定在9:30-18:00。每天大概發布10——50篇新聞,所以我設想更新站點地圖的時間在:9:00——19:00,每3個小時更新一次,其他時間不做任何操作,降低數據庫查詢的負擔。

開始寫windows 服務。

1、新建windows服務,給windows起個名字

2、添加安裝程序

雙擊Service1.cs進入視圖界面,右鍵,選擇“添加安裝程序”

添加以后的效果。

serviceInstaller1:服務安裝組件。(主要用于設置 服務名稱、服務描述、服務是否開機啟動或延遲啟動、服務啟動方式等)

serviceProcessInstaller1:服務進程安裝組件(主要用戶設置運行服務的賬戶類型,如:User、LocalService、NetworkService、LocalSystem等)

serviceInstaller1的屬性設置(快捷鍵F4):

屬性說明:

DelayedAutoStart:設置是否自動啟動

Description:服務描述

ServiceName:服務名稱

StartType:啟動類型。有三種:Manual(啟動)、Automatic(自動)、Disabled(不啟動)

serviceProcessInstaller1屬性設置(快捷鍵F4):

屬性說明:

Account:運行服務的賬戶類型。有四種:User、LocalService、NetworkService、LocalSystem。

我選擇的是LocalSystem,意思是:當前系統都能運行。

3、定時觸發問題的一些需要注意的誤區。

定時觸發,大家肯定想到的是Timer組件,但一定要記住。windows服務下是沒有Timer控件的。。。。這里看到的Timer組件是不會定時觸發的,需要自己實現Timer定時觸發的事件,本人曾在此坑深陷多時。。。。

由于本人為了實現定時觸發的事件可控性和可修改性。增加了一個配置文件。配置文件添加方式如圖:

windows服務項目——右鍵——添加——新建項

配置文件設置:

4、定時windows服務代碼:

public partial class NPcgoNewsService : ServiceBase    {        Timer aTimer = new Timer();       //System.Timers,不是form的          public NPcgoNewsService()        {            InitializeComponent();        }        protected override void OnStart(string[] args)        {            //一個一直重寫sitemap的服務            aTimer.Elapsed += new ElapsedEventHandler(aTimer_Tick);            aTimer.Enabled = true;              aTimer.Interval = int.Parse(PublicMethods.GetAppSettings("NewsSiteUpdateTime")) * 1000;    //配置文件中配置的秒數            aTimer.Start();        }        protected override void OnStop()        {            this.aTimer.Enabled = false;            this.aTimer.Stop();        }        /// <summary>        /// timer定時觸發        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void aTimer_Tick(object sender, ElapsedEventArgs e)        {            //調用該服務的時間為上午9點——下午18點,其他時間不調用            if (DateTime.Now.Hour >= 9 && DateTime.Now.Hour <= 19)            {                MakeSiteMap make = new MakeSiteMap();                make.GetBaiDuSiteMap();            }        }    }

生成百度地圖的方法(GetBaiDuSiteMap):

        /// <summary>        /// 生成百度站點地圖        /// </summary>        /// <returns></returns>        public void GetBaiDuSiteMap()        {            XmlDocument xmlDoc = new XmlDocument();            //獲取新聞站點地圖的本地保存路徑            string path = Path.Combine(PublicMethods.GetAppSettings("NewsSiteMapPath"));            xmlDoc.Load(path);            //查找根節點            XmlNode root = xmlDoc.SelectSingleNode("urlset");            //刪除以前的所有老節點            root.RemoveAll();            #region 平臺公告            //查詢最新100條平臺公告            List<IT_NEWS> platformnotice = GetPlatformNotice();            if (platformnotice != null && platformnotice.Count > 0 && platformnotice[0].newsId > 0)            {                foreach (IT_NEWS platformNoticeNews in platformnotice)                {                    XmlElement xesub1 = xmlDoc.CreateElement("url");                    XmlElement xe1 = xmlDoc.CreateElement("loc");                    xe1.InnerText = "http://news.npcgo.com" + "/notice-" + platformNoticeNews.newsType + "-" + platformNoticeNews.newsId + ".html";                    XmlElement xe2 = xmlDoc.CreateElement("lastmod");                    xe2.InnerText = Convert.ToDateTime(platformNoticeNews.newsCreateTime).ToString("yyyy-MM-dd");                    XmlElement xe3 = xmlDoc.CreateElement("changefreq");                    xe3.InnerText = "daily";                    XmlElement xe4 = xmlDoc.CreateElement("priority");                    xe4.InnerText = "0.2";                    xesub1.AppendChild(xe1);                    xesub1.AppendChild(xe2);                    xesub1.AppendChild(xe3);                    xesub1.AppendChild(xe4);                    root.AppendChild(xesub1);                }            }            #endregion            xmlDoc.AppendChild(root);            xmlDoc.Save(path);        }

============代碼部分完成====================

安裝windows服務:

需要寫一個windows服務安裝的批處理和卸載的批處理,都放在windows服務項目的bin/Debug文件夾下。

安裝服務,install.bat代碼:

%SystemRoot%/Microsoft.NET/Framework/v4.0.30319/installutil.exe GameTradingNewsService.exeNet Start NPCgoNewsServicessc config NPCgoNewsServices start= auto

解釋:

GameTradingNewsService.exe 是windows服務項目編譯以后bin文件中的exe程序的名稱。Net Start xxx 是開啟xxx服務NPCgoNewsServices 是windows服務名稱(即:serviceInstaller1屬性面板設置的服務名稱(serviceName屬性))sc config NPCgoNewsServices start= auto 是設置windows服務啟動方式為自動卸載服務 unstall.bat代碼:
%SystemRoot%/Microsoft.NET/Framework/v4.0.30319/installutil.exe /u GameTradingNewsService.exe
GameTradingNewsService.exe 是windows服務項目編譯以后bin文件中的exe程序的名稱至此,一個服務是徹底完成。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品在线观看国产| 性欧美xxxx交| 国产精品劲爆视频| 欧美日韩午夜剧场| 欧美亚洲视频在线观看| 日韩高清免费在线| 欧美激情中文网| 九九热精品视频在线播放| 欧美精品久久久久| 国产日产久久高清欧美一区| 久久偷看各类女兵18女厕嘘嘘| 精品国产美女在线| 欧美丰满老妇厨房牲生活| 日韩电影免费观看在线| 欧美久久久精品| 亚洲美女视频网| 亚洲一区第一页| 亚洲视频在线视频| 日韩美女主播视频| 日韩av在线天堂网| 亚洲剧情一区二区| 亚洲黄色在线观看| 欧美电影在线观看高清| 亚洲欧美国内爽妇网| 欧美一区二三区| 97精品在线观看| 国内久久久精品| 欧美另类极品videosbestfree| 中文字幕精品av| 91精品久久久久久久久青青| 91超碰中文字幕久久精品| 中文字幕精品网| 黑人巨大精品欧美一区二区一视频| 日韩一二三在线视频播| 久久成人精品电影| 欧美中文字幕在线| 国产精品久久久久9999| 最近2019中文免费高清视频观看www99| 久久久久久亚洲| 欧美亚洲在线观看| 日韩中文字幕视频| 久久久精品一区| 国产成人综合av| 日韩美女视频中文字幕| 一区二区三区日韩在线| 精品国产精品自拍| 夜色77av精品影院| 亚洲男人天堂久| 狠狠久久亚洲欧美专区| 一区二区日韩精品| 国产综合久久久久| 国产精品久久久久久久天堂| 91av在线免费观看| 最新69国产成人精品视频免费| 欧美一区亚洲一区| 一区二区三区亚洲| 日韩大陆毛片av| 日韩成人中文字幕在线观看| 久久99热这里只有精品国产| 国产成+人+综合+亚洲欧美丁香花| 精品久久久一区二区| 日韩欧美在线免费观看| 性欧美在线看片a免费观看| 亚洲色无码播放| 中文字幕日韩在线播放| 久久久久久国产精品三级玉女聊斋| 欧美视频不卡中文| 日韩美女视频免费在线观看| 91精品综合久久久久久五月天| 国产成人av网| 亚洲网在线观看| 日韩高清电影免费观看完整| 久久精品国产96久久久香蕉| 亚洲欧美一区二区三区久久| 成人女保姆的销魂服务| 亚洲国产精品网站| 欧美电影电视剧在线观看| 久久免费视频网站| 精品视频—区二区三区免费| 久久久久久久久久久国产| 美女国内精品自产拍在线播放| 中文字幕亚洲自拍| 国产一区二区丝袜高跟鞋图片| 久久天天躁狠狠躁夜夜躁| 992tv在线成人免费观看| 日本三级韩国三级久久| 91久久国产精品91久久性色| 久久精品国产清自在天天线| 国产一区二区黄| 黑人与娇小精品av专区| 欧美成人精品一区二区| 91九色国产视频| 日韩精品在线免费观看视频| 国产日韩欧美日韩大片| 成人精品一区二区三区电影黑人| 91免费在线视频网站| www.亚洲男人天堂| 久久高清视频免费| 久久精视频免费在线久久完整在线看| 国产精品一区二区性色av| 欧美有码在线观看视频| 丁香五六月婷婷久久激情| 亚洲精品国产免费| 日本a级片电影一区二区| 亚洲黄页网在线观看| 欧美激情一区二区三级高清视频| 91久久久久久久| 亚洲欧美中文字幕在线一区| 欧美日韩黄色大片| 午夜免费日韩视频| 日韩欧美中文免费| 亚洲精品影视在线观看| 中日韩美女免费视频网站在线观看| 欧美午夜视频一区二区| 色先锋久久影院av| 亚洲性生活视频在线观看| 亚洲激情电影中文字幕| 高清一区二区三区日本久| 亚洲免费视频一区二区| 88国产精品欧美一区二区三区| 国产精品白丝jk喷水视频一区| 日韩精品免费综合视频在线播放| 久久精品国亚洲| 久热精品视频在线观看一区| 精品久久久久久中文字幕大豆网| 亚洲少妇激情视频| 国产在线观看精品| 欧美福利在线观看| 精品国产乱码久久久久久虫虫漫画| 国产精品专区第二| 亚洲最大成人在线| 97超碰国产精品女人人人爽| 久久久久久国产精品三级玉女聊斋| 国产成人精品视频在线观看| 国产精品一久久香蕉国产线看观看| 国产香蕉一区二区三区在线视频| 91av成人在线| 久久久最新网址| 国内精品国产三级国产在线专| 色黄久久久久久| 日韩精品亚洲精品| 亚洲国产精品va在线观看黑人| 日韩中文字幕在线免费观看| 久久久亚洲精品视频| 亚洲色图第一页| 日韩精品中文字幕有码专区| 亚洲精品一区二区三区不| 日韩精品免费在线| 日韩小视频在线观看| xxav国产精品美女主播| 久久久91精品国产一区不卡| 国产在线视频欧美| 91在线国产电影| 国产91在线播放九色快色| 国产精品久久国产精品99gif| 亚洲精品国产电影| 亚洲美女自拍视频| 国产色综合天天综合网| 日本午夜精品理论片a级appf发布| 久久99热精品这里久久精品| 91成人天堂久久成人| 欧美www视频在线观看| 亚洲美女av电影| 国产一区二区精品丝袜|