C#Windows服務程式的快速開發

來源:互聯網
上載者:User
本文為網上摘抄,原文連結:http://developer.51cto.com/art/200908/144084.htm


    C#Windows服務程式的快速開發:在很多應用中需要做windows服務來操作資料庫等操作,比如

    (1)一些非常慢的資料庫操作,不想一次性去做,想慢慢的通過服務定時去做,比如定時為Database Backup等

    (2)在.net Remoting中利用windows服務來做Host

    利用vs.net我們可以在幾分鐘之內建立其windows服務,非常簡單

    下面說一下C#Windows服務程式的快速開發的步驟

    C#Windows服務程式的快速開發1. 建立一個項目

    C#Windows服務程式的快速開發2. 從一個可用的項目模板列表當中選擇Windows服務

    C#Windows服務程式的快速開發3. 設計器會以設計模式開啟

    C#Windows服務程式的快速開發4. 從工具箱的組件表當中拖動一個Timer對象到這個設計表面上 (注意: 要確保是從組件列表而不是從Windows表單列表當中使用Timer)

    C#Windows服務程式的快速開發5. 設定Timer屬性,Interval屬性200毫秒(1秒進行5次資料庫操作)

    C#Windows服務程式的快速開發6. 然後為這個服務填加功能

    C#Windows服務程式的快速開發7.雙擊這個Timer,然後在裡面寫一些資料庫操作的代碼,比如

     
    1. SqlConnection conn=new SqlConnection(  
    2. server=127.0.0.1;database=test;uid=sa;pwd=275280");  
    3.   SqlCommand comm=-new SqlCommand(  
    4. insert into tb1 ('111',11)",conn);  
    5.   conn.Open();  
    6.   comm.ExecuteNonQuery();  
    7.   conn.Close(); 

    C#Windows服務程式的快速開發8. 將這個服務程式切換到設計檢視

    C#Windows服務程式的快速開發9. 右擊設計檢視選擇“添加安裝程式”

    C#Windows服務程式的快速開發10. 切換到剛被添加的ProjectInstaller的設計檢視

    C#Windows服務程式的快速開發11. 設定serviceInstaller1組件的屬性:

    1) ServiceName = My Sample Service

    2) StartType = Automatic (開機自動運行)

    C#Windows服務程式的快速開發12. 設定serviceProcessInstaller1組件的屬性  Account = LocalSystem

    C#Windows服務程式的快速開發13. 改變路徑到你項目所在的bin\Debug檔案夾位置(如果你以Release模式編譯則在bin\Release檔案夾)

    C#Windows服務程式的快速開發14. 執行命令“InstallUtil.exe MyWindowsService.exe”註冊這個服務,使它建立一個合適的註冊項。(InstallUtil這個程式在WINDOWS檔案夾\Microsoft.NET\Framework\v1.1.4322下面)

    C#Windows服務程式的快速開發15. 右擊案頭上“我的電腦”,選擇“管理”就可以打電腦管理主控台

    C#Windows服務程式的快速開發16. 在“服務和應用程式”裡面的“服務”部分裡,你可以發現你的Windows服務已經包含在服務列表當中了

    17. 右擊你的服務選擇啟動就可以啟動你的服務了

    看看資料庫是不是一秒多了5個記錄啊

    C#Windows服務程式的快速開發需要注意的是:

    如果你修改了這個服務,路徑沒有變化的話是不需要重新註冊服務的,如果路徑發生了變化,需要先卸載這個服務InstallUtil.exe /u參數,然後再重新安裝這個服務,不能直接安裝。還有就是windows服務是沒有介面的,不要企圖用控制的輸出方式來輸出一些資訊,你只能添加一個EventLog,通過WriteEntry()來寫日誌。

    關於怎麼用windows服務來做一個遠程服務可以看一下http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetsec/html/SecNetHT15.asp

    C#Windows服務程式的快速開發的相關內容就向你介紹到這裡,希望對你瞭解和學習C#Windows服務程式的快速開發有所協助。

     

     

    ASP.NET開發技術交流群: 67511751(人員招募中...)

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.