精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

C#實現Windows后臺服務實例淺析

開發 后端
C#實現Windows后臺服務實例向你詳細介紹了一個C#實現Windows后臺服務的準備和實施的全過程,希望對你學習C#實現Windows后臺服務有所幫助。

C#實現Windows后臺服務實例之前要明白的一些概念:所謂Windows后臺服務,即后臺自動運行的程序,一般隨操作系統啟動而啟動,在我的電腦 服務后應用程序 服務里面能看到當前電腦的服務.一般而言,程序上用VC、C++寫Windows服務,但是我對這些語言不是很熟,一般編程用C#較多,所以就用C#語言寫了一個Windows服務.

C#實現Windows后臺服務實例其實需求是這樣的,做那個報價系統的時候加入了發短信的功能,訂單處理完即將發貨的時候要發送短信都客戶手機上,公司內部員工處理訂單超時要自動發短信,群發產品促銷信息到客戶手機上等,還有定時發送短信的需求,所以***面決定把發短信的模塊獨立出來,以后還有什么功能方便一起調用,而最終選擇了采用Windows后臺服務.

C#實現Windows后臺服務實例其實Windows服務并不好做到通用,它并不能在用戶的界面顯示一些什么信息等,它只是在后臺默默的處理一些事情,起著輔助的作用.那如何實現發送段信通用調用的接口呢?它們之間的信息又是如何來交互呢?數據庫!對,就是它存儲數據信息的.而數據庫都能很方便的訪問操作.把發送短信的后臺服務定時去訪問一個數據庫,而另外任何要發送短信的地方也訪問數據庫,并插入一條要發送的短信到表里面,稍后Windows后臺服務訪問該表將此短信發送出去.這可能是一個比較蠢的方法,但實現起來較簡單.

C#實現Windows后臺服務實例首先,由于它是要安裝的,所以它運行的時候就需要一個安裝類Installer將服務安裝到計算機,新建一個后臺服務安裝類繼承自Installer,安裝初始化的時候是以容器進行安裝的,所以還要建立ServiceProcessInstaller和ServiceInstaller服務信息組件添加到容器安裝,在Installer類增加如下代碼:

  1. private System.ComponentModel.IContainer components = null;  
  2. private System.ServiceProcess.ServiceProcessInstaller spInstaller;  
  3. private System.ServiceProcess.ServiceInstaller sInstaller;  
  4. private void InitializeComponent()  
  5. {  
  6. components = new System.ComponentModel.Container();  
  7.  
  8. // 創建ServiceProcessInstaller對象和ServiceInstaller對象  
  9. this.spInstaller = new System.ServiceProcess.
  10. ServiceProcessInstaller();  
  11. this.sInstaller = new System.ServiceProcess.ServiceInstaller();  
  12.  
  13. // 設定ServiceProcessInstaller對象的帳號、用戶名和密碼等信息  
  14. this.spInstaller.Account = System.ServiceProcess.
  15. ServiceAccount.LocalSystem;  
  16. this.spInstaller.Username = null;  
  17. this.spInstaller.Password = null;  
  18.  
  19. // 設定服務名稱  
  20. this.sInstaller.ServiceName = "SendMessage";  
  21. sInstaller.DisplayName = "發送短信服務";  
  22. sInstaller.Description = "一個定時發送短信的服務";  
  23.  
  24. // 設定服務的啟動方式  
  25. this.sInstaller.StartType = System.ServiceProcess.
  26. ServiceStartMode.Automatic;  
  27.  
  28. this.Installers.AddRange(new System.Configuration.
  29. Install.Installer[] { this.spInstaller, this.sInstaller });  

C#實現Windows后臺服務實例再添加一個服務類繼承自ServiceBase,我們可以重寫基類的OnStart、OnPause、OnStop、OnContinue等方法來實現我們需要的功能并設置指定一些屬性.由于是定事發送短信的服務,自然少不了Windows記時器,在OnStart事件里我們寫入服務日志,并初始化記時器.

  1. private System.Timers.Timer time;  
  2. private static readonly string CurrentPath = 
  3. Application.StartupPath + "\\";  
  4. protected override void OnStart(string[] args)  
  5. {  
  6. string path = CurrentPath + "Log\\start-stop.log";  
  7. FileStream fs = new FileStream(path, FileMode.
  8. Append, FileAccess.Write);  
  9. StreamWriter sw = new StreamWriter(fs);  
  10. sw.WriteLine("The Service is Starting On " + 
  11. DateTime.Now.ToString());  
  12. sw.Flush();  
  13. sw.Close();  
  14. fs.Close();  
  15.  
  16. time = new System.Timers.Timer(1000 * Convert.
  17. ToInt32(GetSettings("TimeSpan")));  
  18. time.Enabled = true;  
  19. time.Elapsed += this.TimeOut;  
  20. time.Start();  

C#實現Windows后臺服務實例實例化記時器類啟動后,將在指定時間間隔觸發Elapsed指定事件,如上GetSettings為讀取我App.config文件里一個配置節點(值為30)的方法,所以上面將會每隔30秒調用TimeOut方法.而改方法就是我們發短信的具體操作.代碼如下:

  1. private void TimeOut(object sender, EventArgs e)  
  2. {  
  3. try 
  4. {  
  5. if (GetSettings("Enabled").ToLower() == "true")  
  6. {  
  7. SqlConnection con = new SqlConnection(GetSettings("ConnString"));  
  8. SqlCommand cmd = new SqlCommand("select [sysid],
  9. [admin_inner_code],[user_inner_code],[phone],
  10. [message],[sendtime] from [tbl_note_outbox]", con);  
  11. con.Open();  
  12. SqlDataReader rdr = cmd.ExecuteReader();  
  13. while (rdr.Read())  
  14. {  
  15. string phone = rdr["phone"].ToString();  
  16. string message = rdr["message"].ToString();  
  17. string sendtime = rdr["sendtime"].ToString();  
  18. System.Text.Encoding encoder = System.Text.Encoding.GetEncoding("GB2312");  
  19. string url = string.Format("http://211.155.23.205/
  20. isapi.dll?SendSms&AgentID={0}&PassWord={1}&phone={2}&msg={3}&sendtime={4}"
  21. GetSettings("AgentID"), GetSettings("PassWord"), 
  22. phone,System.Web.HttpUtility.UrlEncode( message,encoder), sendtime);  
  23. System.Net.WebClient wClient = new System.Net.WebClient();  
  24. string msg = System.Text.Encoding.Default.GetString(wClient.DownloadData(url));  
  25. wClient.Dispose();  
  26.  
  27. //刪除已經發送成功的,并保存發送記錄  
  28. if (msg == "發送成功")  
  29. {  
  30. DateTime dtsend = sendtime == "0" ? DateTime.Now : 
  31. DateTime.ParseExact(sendtime, "yyyyMMddHHmmss"null);  
  32. string sql = string.Format("delete from 
  33. [tbl_note_outbox] where [sysid]={0} INSERT INTO [tbl_note_log] 
  34. ([admin_inner_code],[user_inner_code],[status],[phone],
  35. [message],[sendtime]) VALUES('{1}','{2}','{3}','{4}','{5}','{6}')",
  36.  rdr["sysid"], rdr["admin_inner_code"], rdr["user_inner_code"],
  37.  msg, phone, message, dtsend);  
  38. SqlConnection conn = new SqlConnection(GetSettings("ConnString"));  
  39. SqlCommand delete = new SqlCommand(sql, conn);  
  40. conn.Open();  
  41. delete.ExecuteNonQuery();  
  42. conn.Close();  
  43. delete.Dispose();  
  44. }  
  45.  
  46. }  
  47. rdr.Close();  
  48. con.Close();  
  49. cmd.Dispose();  
  50. }  
  51. }  
  52. catch (Exception ex)  
  53. {  
  54. string errorPath = CurrentPath + "Log\\error.log";  
  55. if (!File.Exists(errorPath))  
  56. {  
  57. FileStream create = File.Create(errorPath);  
  58. create.Close();  
  59. }  
  60. FileStream fs = new FileStream(errorPath, 
  61. FileMode.Append, FileAccess.Write);  
  62. StreamWriter sw = new StreamWriter(fs);  
  63. sw.WriteLine("Exception: " +ex.Message+" --"+
  64.  DateTime.Now.ToString());  
  65. sw.Flush();  
  66. sw.Close();  
  67. fs.Close();  
  68. }  
  69.  

C#實現Windows后臺服務實例上面我們使用try、catch訪問數據庫,并記錄錯誤異常信息. 發送短信是使用發送一個Web請求發送出去的,要注意請求url字符串的編碼類型,要與請求頁面編碼一致,不然會出現亂碼.上面我們請求的是智網通集團短信(網址:http://www.09168.net/)的Web接口,通過訪問他的網站來實現發短信,當然還要傳遞一些用戶名、密碼、手機號碼和要發送的短信息等參數.他的收費平均大概為7分/條的樣子,其實我原本不想用發送Web請求的這樣方式來發送短信的,它本身提供了調用它發送短信的DLL,而且還有vc、delphi調用的Demo,但是沒有用C#調用的例子,我剛開始試著用非托管動態鏈接庫他提供的DLL,不知方法調用那里出錯了一直都沒能成功發送出短信,所以后來就用了他的Web方式接口了.他頁面直接返回發送短信的狀態信息.返回發送成功則短信發送成功,成功后我再將此條信息從要發送短信表里刪除并保存在發送記錄表里面,以備日后方便查詢.其實登陸他的官網進入后臺也能方便的查詢,如下圖.

保存在發送記錄表里面 

C#實現Windows后臺服務實例發送短信服務的代碼基本上搞定了,就看怎么在服務器上安裝部署了.C#寫的Windows后臺服務不能直接安裝,需要借助.NET Framework里面的InstallUtil.exe安裝工具安裝,我們可以做成一個執行CMD命令的文件BAT文件來安裝啟動它,命令如下:

  1. %windir%\Microsoft.NET\  
  2. Framework\v2.0.50727\  
  3. InstallUtil.exe %CD%\  
  4. SendMessage.exe  
  5. net start SendMessage 

安裝啟動 

安裝完成以后,我們可以在我的電腦管理服務里面看到才安裝上的后臺服務.

后臺服務 

經測試,采用定時訪問數據庫發送短信的服務并不是很耗資源,剛啟動的時候只占用內存為7、8M左右,經過在服務器上連續運行幾天不關閉占用的內存也只升到15M左右,運行比較穩定,這里提供一個短信二次開發接口說明,有興趣的朋友可以去下載看下.

智網動力集團短信二次開發說明文檔示例

特別申明:本文及內容如非特別注明,均為本人Jonllen原創,版權均歸原作者個人所有,轉載必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。

C#實現Windows后臺服務實例的基本情況就向你介紹到這里,希望對你了解和學習C#實現Windows后臺服務實例有所幫助。

【編輯推薦】

  1. C#windows服務狀態改變操作淺析
  2. C#Windows服務程序開發實例介紹
  3. C#啟動Windows服務及關閉實例實現
  4. C#啟動Windows服務的窗體程序淺析
  5. C#Windows服務程序之安裝項目
責任編輯:仲衡 來源: 百度空間
相關推薦

2009-08-14 11:00:16

C#創建Windows

2009-08-27 13:30:11

C# interfac

2009-08-27 18:09:49

C#接口的實現

2009-08-14 16:32:50

C#啟動Windows

2009-08-14 16:02:50

C#啟動windows

2009-08-14 14:17:16

C#Windows服務

2009-08-24 10:37:27

C# 泛型

2009-09-09 13:57:28

C# XML解析

2009-08-17 17:49:20

C# 枚舉

2009-08-27 17:59:56

C#接口定義

2009-08-18 13:49:21

C# 操作Excel

2009-08-14 16:41:22

C#啟動Windows

2009-12-11 13:59:35

F#

2009-08-14 09:50:46

C#復制構造函數

2009-08-17 14:36:15

C#進度條實現

2009-08-31 15:11:23

C#調用水晶報表

2009-08-18 16:04:12

C# 操作Excel

2009-08-28 17:34:14

讀取word文檔

2009-08-27 17:11:44

C# Fluent I

2009-08-19 09:42:52

C#操作Word書簽
點贊
收藏

51CTO技術棧公眾號

午夜av中文字幕| 一区中文字幕在线观看| 亚洲免费黄色网址| 欧美天天综合| 日韩三级视频在线观看| 国产人妻777人伦精品hd| 欧洲毛片在线| 国内精品免费**视频| 久久久久久久久久婷婷| 午夜时刻免费入口| 视频一区中文字幕精品| 色悠悠久久综合| 少妇高潮流白浆| 男女污污视频在线观看| 国产精品亚洲综合一区在线观看| 91超碰中文字幕久久精品| 国产无遮挡在线观看| 大型av综合网站| 欧美日韩你懂的| 国内精品在线观看视频| 老司机在线视频二区| 91视频一区二区三区| 亚洲自拍欧美色图| 国产精品久久久久久久久夜色| 婷婷亚洲五月色综合| 亚洲欧美国产视频| 在线看黄色的网站| 91视频成人| 欧美三级在线视频| 精品一区二区中文字幕| 波多野结衣乳巨码无在线观看| 中文字幕高清不卡| 欧美一区二区三区电影在线观看| 亚洲国产中文字幕在线| 久久99精品国产.久久久久久| 51精品国产黑色丝袜高跟鞋| 国产一级黄色av| 91精品天堂福利在线观看| 亚洲天堂免费在线| 巨胸大乳www视频免费观看| 亚洲日本va| 欧美一区二区在线免费播放| 国产三级三级看三级| jizz内谢中国亚洲jizz| 婷婷久久综合九色综合绿巨人| 日本女人高潮视频| 麻豆免费在线视频| 国产精品国产三级国产aⅴ中文 | 网站黄在线观看| 国产91在线|亚洲| 成人激情黄色网| 91国产精品一区| 久久国产精品第一页| 国产欧美精品一区二区三区-老狼| 免费看污视频的网站| 久久一区欧美| 国产精品黄色av| 中文字幕在线观看精品| 蜜臀久久久久久久| 国产欧美日韩中文字幕在线| 97caocao| 国产精品一品二品| 成人激情直播| 特级丰满少妇一级aaaa爱毛片| 成人黄色网址在线观看| 精品午夜一区二区三区| 天堂在线一二区| 久久免费视频色| 日产中文字幕在线精品一区| 国产视频精品久久| 中文字幕中文字幕一区| 成年人黄色在线观看| av网站网址在线观看| 一区二区三区不卡视频| 亚洲人成无码网站久久99热国产| av资源在线看片| 色网站国产精品| 午夜剧场高清版免费观看| 国产成人视屏| 精品国产乱子伦一区| 亚洲av成人片无码| 少妇精品久久久| 精品久久久91| 精品少妇theporn| 国产精品久久久久毛片大屁完整版| 欧洲精品久久久| 一级黄色录像大片| 成人app下载| 色噜噜狠狠一区二区三区| 青青青青在线| 无吗不卡中文字幕| 亚洲人辣妹窥探嘘嘘| 日韩在线成人| 亚洲视频在线观看免费| 欧洲猛交xxxx乱大交3| 国产精品美女久久久浪潮软件| 国产精品丝袜一区二区三区| aa视频在线免费观看| 久久亚洲二区三区| 日韩一二区视频| japanese23hdxxxx日韩| 欧美一级高清片| www.狠狠爱| 欧美日韩91| 国产精品欧美日韩久久| 人妻一区二区三区| 中文字幕一区二区三区av| 久久综合色视频| 久久免费福利| 在线观看中文字幕亚洲| 男人天堂中文字幕| 麻豆精品视频在线| 久久久久久九九九九| 成人影院www在线观看| 色婷婷精品大视频在线蜜桃视频| 97人人模人人爽人人澡| 欧洲杯半决赛直播| 欧美一级大片视频| 国产 日韩 欧美 综合| 国产精品成人一区二区三区夜夜夜 | 亚洲乱码一区二区三区在线观看| 欧美日韩第二页| 国产精品一区二区三区美女| 久久精品成人欧美大片古装| 亚洲大尺度在线观看| 99久久精品国产毛片| 99re8这里只有精品| 日本欧美韩国| 亚洲人成电影网站色www| 日韩乱码人妻无码中文字幕| 国产成人超碰人人澡人人澡| 国产精品夜夜夜爽张柏芝| 国产福利亚洲| 一区二区欧美久久| 欧美日韩乱国产| av中文字幕一区| 丰满少妇久久久| 老司机aⅴ在线精品导航| 欧美极品少妇xxxxⅹ喷水| 在线一区二区视频| 中文字幕免费视频| 久热精品视频| 日韩国产精品一区二区| 国产一区二区主播在线| 亚洲视频视频在线| 中文字幕理论片| 国产精品视频一二| 中文字幕第80页| 成人影院在线| 国产精品日韩专区| 日本在线看片免费人成视1000| 欧美性生活久久| 又色又爽的视频| 精品一区二区三区视频| 国产成人精品免费看在线播放| 亚洲欧美一级| 欧美人在线观看| 亚洲国产精品一| 午夜精品久久久久久久久久久| 一起草在线视频| 日韩国产精品久久| 婷婷精品国产一区二区三区日韩 | 91精品国产99久久久久久红楼| v片在线观看| 欧美精品一区二区三区在线| 亚洲黄色小说图片| 国产视频视频一区| 欧美丝袜在线观看| 亚洲视频日本| 欧美另类一区| 在线日韩三级| 久久久伊人日本| 户外极限露出调教在线视频| 欧美电影影音先锋| 日本少妇毛茸茸高潮| 91热门视频在线观看| 我看黄色一级片| 午夜国产一区| 蜜桃网站成人| 国产高清亚洲| 欧美一级高清免费播放| av女优在线| 欧美精品一区二区久久婷婷| 中文字幕69页| 亚洲欧美另类久久久精品2019| 小毛片在线观看| 蜜臀av亚洲一区中文字幕| 97超碰国产精品| 欧美限制电影| 国产精品一区二区三区在线| 欧亚在线中文字幕免费| 久久久国产精品免费| 三级视频网站在线| 91精品国产综合久久精品麻豆| 天堂网一区二区三区| 国产精品传媒入口麻豆| 欧美精品黑人猛交高潮| 国内欧美视频一区二区| 四虎永久在线精品无码视频| 欧美区日韩区| 亚洲欧洲精品一区二区三区波多野1战4| 日韩在线成人| 国产日产欧美精品| 91精品产国品一二三产区| 色综合久久久久久中文网| 国产视频精品久久| 亚洲精品国产精品乱码不99按摩 | 性欧美hd调教| 国语自产偷拍精品视频偷| 日本中文在线观看| 亚洲人成网在线播放| 亚洲经典一区二区| 欧美久久婷婷综合色| 无码人妻丰满熟妇区五十路| 亚洲r级在线视频| 国产极品国产极品| 亚洲国产成人在线| 丰满少妇一区二区三区| 高清日韩电视剧大全免费| 亚洲第一狼人区| 免费中文字幕日韩欧美| 国产96在线 | 亚洲| 欧美日韩在线大尺度| 中文字幕不卡每日更新1区2区| 精品在线91| 精品国产_亚洲人成在线| 亚洲福利合集| 91亚洲精品一区| 亚洲精品三区| 国产在线视频91| 欧美高清xxx| 国产精品亚洲自拍| 成人国产精品| 国产精品美女www| av激情成人网| 国产精品成人国产乱一区| 中文字幕成在线观看| 8x拔播拔播x8国产精品| sm捆绑调教国产免费网站在线观看| 蜜臀久久99精品久久久久久宅男| 午夜小视频在线| 日韩在线中文视频| 日本在线人成| 欧美成人亚洲成人| 羞羞视频在线免费国产| 欧美高清激情视频| 黄污视频在线观看| 韩国福利视频一区| 蜜桃视频m3u8在线观看| 2019中文字幕免费视频| 成人教育av| 国产精品福利无圣光在线一区| 亚洲精品国产嫩草在线观看| 国产精品久久二区| 婷婷成人av| 91网免费观看| 加勒比色综合久久久久久久久| 国内精品久久久久久久果冻传媒| 欧美18xxxx| 日韩av高清| 亚洲一本二本| 成人免费视频91| 久久综合影视| 伊人五月天婷婷| 高清日韩电视剧大全免费| 日韩av无码一区二区三区不卡| 99re66热这里只有精品3直播| 日韩av在线看免费观看| 国产精品嫩草久久久久| 波多野结衣家庭教师| 亚洲电影一区二区三区| 亚洲大片免费观看| 8x8x8国产精品| 五月婷婷深深爱| 夜夜嗨av一区二区三区四区 | 欧美一级淫片丝袜脚交| 欧美日韩女优| aaa级精品久久久国产片| 日韩电影不卡一区| 亚洲精品一区二区三区四区五区| 久久久久久久久久久妇女| 精品丰满人妻无套内射| 丝袜美腿亚洲一区二区图片| 亚洲妇熟xx妇色黄蜜桃| 91毛片在线观看| 三级影片在线观看| 精品成人在线视频| 一区二区三区日| 日韩av网址在线| 免费在线观看av| 51ⅴ精品国产91久久久久久| 91麻豆精品| 欧美一区二区三区在线免费观看 | 婷婷亚洲精品| 黄色免费高清视频| 国产麻豆综合| 在线观看欧美一区二区| 国产欧美一区二区三区在线老狼| 欧美色图亚洲天堂| 欧美在线一二三| 日韩一级免费毛片| xxxxxxxxx欧美| 97成人资源| 国产在线精品二区| 女人天堂亚洲aⅴ在线观看| 97公开免费视频| av一区二区久久| 91porn在线视频| 欧美日韩一区国产| 青青青免费视频在线2| 欧美精品xxx| 成人黄色91| 四虎影院一区二区三区| 国产欧美在线| 制服丝袜在线第一页| 亚洲品质自拍视频| 亚洲一线在线观看| 一区二区三区国产在线观看| 涩涩视频在线| 精品一区久久| 一区在线视频观看| 青青草精品在线| 国产精品成人免费| 瑟瑟视频在线免费观看| 亚洲精品综合久久中文字幕| h片在线观看| 懂色中文一区二区三区在线视频| 久久久久久久久久久久久久久久久久| 91视频免费版污| 国产欧美日韩在线观看| 久久久成人免费视频| 亚洲精品中文字幕有码专区| 美女的胸无遮挡在线观看| 国产日韩二区| 影音国产精品| 日b视频在线观看| 性久久久久久久久| 蜜臀久久99精品久久久| 欧美日韩第一页| 成人黄色av网址| 每日在线观看av| 99精品视频一区二区三区| 国产乡下妇女做爰视频| 亚洲福利视频免费观看| 操人在线观看| 麻豆一区区三区四区产品精品蜜桃| aa国产精品| 亚洲成人网在线播放| 在线看日本不卡| 一级日本在线| 91理论片午午论夜理片久久| 女人天堂亚洲aⅴ在线观看| 制服.丝袜.亚洲.中文.综合懂| 亚洲一区中文日韩| 熟妇人妻一区二区三区四区 | 国产一区二区三区免费观看在线 | 亚洲午夜精品久久久中文影院av | 欧美一区二区观看视频| 中文字幕有码在线视频| 国产在线一区二| 久久综合网络一区二区| 少妇视频一区二区| 日韩欧美一级二级| 2020av在线| 天堂av一区二区| 国产乱人伦偷精品视频不卡| 久久精品国产亚洲av麻豆色欲 | 亚洲深夜影院| aaaaa一级片| 欧美三级日韩三级| av在线free| 久久人人爽爽人人爽人人片av| 日韩综合在线视频| 搜索黄色一级片| 亚洲精品国产精品国产自| 精品裸体bbb| 国产午夜精品视频一区二区三区| 99久久综合色| 中文字幕一区二区三区人妻四季| 久久国产精品久久国产精品| 国偷自产av一区二区三区| 亚洲成色www.777999| 亚洲黄色av一区| 狠狠狠综合7777久夜色撩人| 91免费看蜜桃| 日日噜噜夜夜狠狠视频欧美人| 糖心vlog免费在线观看 | 国产真实乱人偷精品| 欧美日韩一区二区三区免费看| 人人超在线公开视频| 欧美中日韩一区二区三区| 国产精品中文字幕日韩精品| 国产91精品一区| 久久久极品av| 精品在线99| 日本性生活一级片| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 中文字幕中文字幕在线十八区| 日本视频一区在线观看| 国产成人精品一区二区三区四区|