Asp.Net 5分鐘實(shí)現(xiàn)網(wǎng)頁(yè)實(shí)時(shí)監(jiān)控代碼
在項(xiàng)目開(kāi)發(fā)中經(jīng)常會(huì)用到監(jiān)控功能,下面通過(guò)本篇文章給大家介紹Asp.Net 5分鐘實(shí)現(xiàn)網(wǎng)頁(yè)實(shí)時(shí)監(jiān)控,需要的朋友可以參考下一、為什么會(huì)用到網(wǎng)頁(yè)實(shí)時(shí)監(jiān)控 LZ最近在無(wú)錫買房了,雖然在...
在項(xiàng)目開(kāi)發(fā)中經(jīng)常會(huì)用到監(jiān)控功能,下面通過(guò)本篇文章給大家介紹Asp.Net 5分鐘實(shí)現(xiàn)網(wǎng)頁(yè)實(shí)時(shí)監(jiān)控,需要的朋友可以參考下
一、為什么會(huì)用到網(wǎng)頁(yè)實(shí)時(shí)監(jiān)控
LZ最近在無(wú)錫買房了,雖然在上海工作,但是上海房?jī)r(jià)實(shí)在太高無(wú)法承受,所以選擇還可以接受的無(wú)錫作為安身之地。買過(guò)房的小伙伴可能知道買房的流程,買房中間有一步很重要的就是需要商品房備案,簡(jiǎn)單點(diǎn)說(shuō)就是你買房時(shí)可以在政府商品房備案網(wǎng)站處查看你購(gòu)買房的備案情況,如果是已經(jīng)備案了開(kāi)發(fā)商還在賣這套房子,那肯定就是一房多賣了。而且很重要一點(diǎn)就是,只有備過(guò)案,才能進(jìn)行下一步銀行貸款,在目前銀行利息越來(lái)越高的情況下,肯定是越早備案越早貸款越有利,所以以最快速度知道自己購(gòu)買房子的備案情況尤為重要。
當(dāng)然也可以每天到網(wǎng)站查詢自己的備案情況,顯然這不是程序員的做法,更不是.Net程序員的做法。程序員的做法肯定是備案一旦下來(lái),程序老老實(shí)實(shí)的通知到手機(jī)上。順便吐槽一點(diǎn),查詢備案的網(wǎng)站真慢。
二、選擇windows服務(wù)、窗體(winform)、web還是控制臺(tái)程序?
當(dāng)然最合適的肯定是windows服務(wù),winform和web肯定也可以的,控制臺(tái)程序不一定是最合適的,但肯定開(kāi)發(fā)是最快速的。綜合考慮了一下,因?yàn)槭且粋€(gè)很小的監(jiān)控項(xiàng)目而且只會(huì)用一兩個(gè)月,或者一兩天,所以沒(méi)變要搞那么復(fù)雜,而且windows服務(wù)還要安裝到服務(wù)器,最重要的是控制臺(tái)是最快開(kāi)發(fā)和最容易部署的,所以最終選擇了控制臺(tái)程序。
三、分析需求
1、需要每隔幾分鐘查詢一次備案情況,所以需要System.Timers.Timer。當(dāng)然如果是非常健壯的或者是完整的項(xiàng)目,建議用Quartz.NET,當(dāng)然可以選擇Topshelf、Hangfire、FluentScheduler等等。
2、因?yàn)樾枰樵兙W(wǎng)站的備案情況,獲取備案網(wǎng)頁(yè)的html,然后判斷html中是否含有“待售”字樣即可,如果沒(méi)有就說(shuō)明已經(jīng)備案了。 這時(shí)需要System.Net.WebClient。查詢網(wǎng)站.net下就更多了,最基礎(chǔ)的就是HttpWebRequst,HttpClient,或者用RestSharp,都是不錯(cuò)的選擇。
3、因?yàn)樾枰獙?shí)時(shí)通知情況,所以選擇了阿里云的短信通知,因?yàn)槠渌?xiàng)目用到,所以直接復(fù)制代碼來(lái)用。當(dāng)然也有很多通知,比如郵件,app,等等。當(dāng)然我們沒(méi)必要搞那么復(fù)雜。
四、代碼模塊
直接代碼,邏輯和代碼很簡(jiǎn)單。
class Program
{
static System.Timers.Timer timer = null;
static void Main(string[] args)
{
timer = new System.Timers.Timer(2 * 60 * 1000);
timer.Elapsed += Timer_Elapsed; ;
timer.Start();
Console.ReadKey();
}
private static void Timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
WebClient client = new WebClient
{
Encoding = System.Text.Encoding.GetEncoding("utf-8")
};
var html = client.DownloadString("http://www.xxxx.com/xxxxx.html");
Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "......" + "未簽。");
if (html.IndexOf("待售") == -1)
{
if (timer != null)
timer.Stop();
// 發(fā)送5條短信
for (int i = 0; i < 5; i++)
{
// 發(fā)送短信
SmsMessage.Send("152****7178", "SMS_92310001", new { name = "Emrys", status = "恭喜恭喜恭喜,房子已簽售!" });
Thread.Sleep(5 * 1000);
}
}
}
}
五、部署
好吧,這項(xiàng)沒(méi)啥以及意義,直接生成代碼,在bin目錄拷貝Debug文件夾直接扔到服務(wù)器,點(diǎn)擊運(yùn)行xxxxxxx.exe。部署完畢。^_^
六、總結(jié)
1、雖然當(dāng)時(shí)只是突發(fā)奇想,并沒(méi)有具體統(tǒng)計(jì)時(shí)間,拿起vs就是一頓突突。所有代碼和部署應(yīng)該不會(huì)超過(guò)5分鐘。 從這可以看出.Net在vs配合下在一些方面做的還是不錯(cuò)的。
2、現(xiàn)在.Net core開(kāi)源跨平臺(tái)以及運(yùn)行速度,C#“優(yōu)美的語(yǔ)言”,vs宇宙第一IDE,其他不多說(shuō),望.Net越來(lái)越好。
以上所述是小編給大家介紹的Asp.Net 5分鐘實(shí)現(xiàn)網(wǎng)頁(yè)實(shí)時(shí)監(jiān)控,希望對(duì)大家有所幫助
- 用ASP實(shí)現(xiàn)在線壓縮與解壓縮功能代碼
- Asp.Net MVC記住用戶登錄信息下次直接登錄功能
- ASP使用正則提取內(nèi)容里所有圖片路徑SRC的實(shí)現(xiàn)代碼
- 宏基aspire s7筆記本怎么設(shè)置U盤啟動(dòng)?Acer aspire s7筆
- 使用用ASP自動(dòng)解析網(wǎng)頁(yè)中的圖片地址的方法
- ASP編程中Session對(duì)象失效的客戶端解決方法
- 利用ASP發(fā)送和接收XML數(shù)據(jù)的處理方法
- 使用ASP開(kāi)發(fā)網(wǎng)頁(yè)需要牢記的9個(gè)注意事項(xiàng)
- ASP實(shí)現(xiàn)限制一個(gè)ip只能訪問(wèn)一次的方法
- ASP程序中常使用的幾種腳本語(yǔ)言
用ASP實(shí)現(xiàn)在線壓縮與解壓縮功能代碼
您還在為空間的FTP不穩(wěn)定而煩惱嗎?現(xiàn)在您只用上傳您的RAR壓縮包,即可!ASP在線解壓/壓縮工具只要幾秒的時(shí)間,解決了網(wǎng)速慢,FTP丟失數(shù)據(jù)的一大難題先上一個(gè)完整代碼<!--Name -A...
Asp.Net MVC記住用戶登錄信息下次直接登錄功能
有的時(shí)候做網(wǎng)站,就需要記住用戶登錄信息,下次再登錄網(wǎng)站時(shí),不用重復(fù)輸入用戶名和密碼,原理是瀏覽器的cookie把狀態(tài)給記住了!這篇文章主要介紹了Asp.Net MVC記住用戶登錄信息下次...
ASP使用正則提取內(nèi)容里所有圖片路徑SRC的實(shí)現(xiàn)代碼
有時(shí)候客戶提交的內(nèi)容里包含多個(gè)圖片,客戶想單獨(dú)把圖片路徑提取出來(lái)進(jìn)行保存,下面腳本之家小編跟大家分享ASP正則提取內(nèi)容里所有圖片路徑SRC的方法函數(shù),需要的朋友可以參考下...
宏基aspire s7筆記本怎么設(shè)置U盤啟動(dòng)?Acer aspire s7筆記本U盤啟動(dòng)bios設(shè)置教程
acer aspire s7筆記本是在2012年的時(shí)候上市的,目前已經(jīng)停產(chǎn)了。用過(guò)acer aspire s7筆記本的朋友都清楚,acer aspire s7筆記本在使用幾年后都會(huì)有重裝系統(tǒng)的需要,但是卻有很多用戶不知道怎么設(shè)置U盤啟動(dòng),那么接下來(lái)小編就為大家分享acer aspire s7筆記本u盤啟動(dòng)bios設(shè)置教程。...
使用用ASP自動(dòng)解析網(wǎng)頁(yè)中的圖片地址的方法
一,取得原頁(yè)中的圖片的地址。 <% function PicStr(str) Set objRegExp = New Regexp '設(shè)置配置對(duì)象 objRegExp.IgnoreCase = True '忽略大小寫 o...
ASP編程中Session對(duì)象失效的客戶端解決方法
雖然利用Timeout屬性釋放資源的策略是出于保護(hù)服務(wù)器的目的,但是Session對(duì)象不可預(yù)知的失效性,卻成為開(kāi)發(fā)應(yīng)用程序的一個(gè)弊病。因而在實(shí)際應(yīng)用程序的開(kāi)發(fā)中,必須解決Session對(duì)象失效的問(wèn)題。...
利用ASP發(fā)送和接收XML數(shù)據(jù)的處理方法
因?yàn)橐鲆苿?dòng)夢(mèng)網(wǎng)WAP的一些接口,所以要用到這種方式,這個(gè)是ASP版本的,利用了MSXML2.XMLHTTP對(duì)像,利用這種方法,ASP里調(diào)用Servlet或Web Service都是很輕松的!...
使用ASP開(kāi)發(fā)網(wǎng)頁(yè)需要牢記的9個(gè)注意事項(xiàng)
永遠(yuǎn)不要相信用戶輸入的內(nèi)容具有適當(dāng)?shù)拇笮』蛘甙m當(dāng)?shù)淖址T谑褂闷渥龀鰶Q策之前應(yīng)該始終對(duì)用戶輸入進(jìn)行驗(yàn)證。最佳的選擇是創(chuàng)建一個(gè) COM+ 組件,...
ASP實(shí)現(xiàn)限制一個(gè)ip只能訪問(wèn)一次的方法
文章主要介紹了asp實(shí)現(xiàn)限制一個(gè)ip只能訪問(wèn)一次的方法,感興趣的小伙伴們可以參考一下限制一個(gè)ip只能訪問(wèn)一次,現(xiàn)在將asp代碼分享給大家: <% '////////////////////////////...
ASP程序中常使用的幾種腳本語(yǔ)言
在瀏覽器中通過(guò)查看源代碼的方式是無(wú)法看到ASP源代碼的,你只能看到由ASP文件輸出的結(jié)果,而那些只是純粹的HTML而已。這是因?yàn)椋诮Y(jié)果被送回瀏覽器前,腳本已經(jīng)在服務(wù)器執(zhí)行了。實(shí)...