最近,一隻在忙著做畢設,一隻沒有時間來完成自己的一個想法。畢設題目很噁心,叫軟體缺陷預測,研究生估計也要研究者破玩意,實在沒有心情做畢設了,想放鬆一下,所以利用一個晚上的時間做了自己的一個程式。
最近google提供了免費的天氣預報簡訊,感覺很好。我就想自己也開發一款類似的東東。首先要找免費的發簡訊的東東,我首先想到的是飛信,因為現在又了fetion sdk,開發起來也很方便,但後來我發現,這在application中使用很好,但用在asp.net中,就出現載入dll失敗的錯誤,而且整個系統也過於龐大。後來,我想到了139郵箱,提供免費的寄件提醒。不過對於普通的簡訊,只支援70字以內的主題。使用傳簡訊得話,可以支援到250字,但是需要手機支援,否則可能造成資訊丟失。詳細設定見:
也就是說,我們現在利用asp.net在指定的時間擷取天氣資訊,然後發送郵件到我們手機對應的139郵箱,就能獲得免費的天氣預報,或是你想要看新聞的話,也可定期發送rss到139郵箱。
為什麼要使用asp.net呢?我的考慮主要是,如果做成服務的話,我的機器關了,我就不能收到免費天氣預報簡訊了。那用asp.net就能嗎?現在不是有很多免費的asp.net空間嗎?我們可以把程式上傳到asp.net空間,只要asp.net空間一直啟動並執行話,我們的程式就能免費地一直運行了。
對於asp.net程式來說,一般是在訪問的時候運行,在不訪問的時候就不運行了。那怎麼能做到一隻運行呢?一種方法就是啟動一條線程,讓他在後台一隻運行。我採用的方法是在globle.asx中的程式啟動事件中啟動一條後台線程,在指定的時間發送郵件。
其中使用的發送郵件模組,是我自己利用smtpclient實現的一個發送郵件的dll,在以往的程式中也有應用。
現在程式只是短暫的測試能通過,長久的測試沒有進行,希望是好用的。
原始碼如下,其中有些東西是沒有,有的是我為瞭解決在國外申請的一個空間支援中文不好的問題,還有就是為了防止My Phone被簡訊炸彈,所以將我的139郵箱刪去,要測試的同學,徐使用自己的139郵箱。放心,經過我的測試139郵箱免費版本是不收費的,可以放心使用。源碼也許有不少bug,如果發現bug,請留言或發郵件給我,謝謝大家的支援。
http://files.cnblogs.com/dlutwy/WeatherReport.zip