日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

C#创建Windows服务

發布時間:2023/11/27 生活经验 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#创建Windows服务 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
利用VS.NET創建C# Windows服務 在很多應用中需要做windows服務來操作數據庫等操作,比如
(1)一些非常慢的數據庫操作,不想一次性去做,想慢慢的通過服務定時去做,比如定時為數據庫備份等
(2)在.net Remoting中利用windows服務來做Host
利用vs.net我們可以在幾分鐘之內建立其windows服務,非常簡單
下面說一下步驟
1. 新建一個項目
2. 從一個可用的項目模板列表當中選擇Windows服務
3. 設計器會以設計模式打開
4. 從工具箱的組件表當中拖動一個Timer對象到這個設計表面上 (注意: 要確保是從組件列表而不是從Windows窗體列表當中使用Timer)??
5. 設置Timer屬性,Interval屬性200毫秒(1秒進行5次數據庫操作)
6. 然后為這個服務填加功能
7.雙擊這個Timer,然后在里面寫一些數據庫操作的代碼,比如
SqlConnection conn=new SqlConnection("server=127.0.0.1;database=test;uid=sa;pwd=275280");
???? SqlCommand comm=-new SqlCommand("insert into tb1 ('111',11)",conn);
???? conn.Open();
???? comm.ExecuteNonQuery();
???? conn.Close();
8. 將這個服務程序切換到設計視圖
9. 右擊設計視圖選擇“添加安裝程序”

from:http://post.blog.hexun.com/imagine18/trackback.aspx?articleid=6056177
10. 切換到剛被添加的ProjectInstaller的設計視圖
11. 設置serviceInstaller1組件的屬性:??
????? 1) ServiceName = My Sample Service
????? 2) StartType = Automatic (開機自動運行)
12. 設置serviceProcessInstaller1組件的屬性??? Account = LocalSystem
13. 改變路徑到你項目所在的bin\Debug文件夾位置(如果你以Release模式編譯則在bin\Release文件夾)
14. 執行命令“InstallUtil MyWindowsService.exe”注冊這個服務,使它建立一個合適的注冊項。(InstallUtil這個程序在WINDOWS文件夾\Microsoft.NET\Framework\v1.1.4322下面)
15. 右擊桌面上“我的電腦”,選擇“管理”就可以打計算機管理控制臺
16. 在“服務和應用程序”里面的“服務”部分里,你可以發現你的Windows服務已經包含在服務列表當中了
17. 右擊你的服務選擇啟動就可以啟動你的服務了

看看數據庫是不是一秒多了5個記錄啊

C# Windows服務安裝、卸載批處理代碼

echo 請按任意鍵開始安裝客戶管理平臺的后臺服務. . .
echo.
pause
echo.
echo 清理原有服務項. . .
%SystemRoot%\Microsoft.NET\Framework\v2.0.50727\installutil /U D:\Service\WindowsService1.exe > InstallService.log
echo.
echo 清理完畢,開始安裝后臺服務. . .
echo.
%SystemRoot%\Microsoft.NET\Framework\v2.0.50727\installutil D:\Service\WindowsService1.exe >> InstallService.log
echo 服務安裝完畢,啟動服務. . .
net start CRMService >> InstallService.log
echo.
echo 操作結束,請在 InstallService.log 中查看具體的操作結果。
echo.
pause

?

C# Windows服務項目里的文件訪問

如果在Windows服務里訪問了配置文件或者其它文件,要在解決方案的對應的文件的屬性里,將此資源配置為復制或者如果較新則復制,這樣,在生成的目錄下面才會把文件復制過去.

在Windows服務里面,如果訪問文件,采用絕對路徑可以.如果采用相對路徑,和生成的服務文件在同一目錄下面.則要訪問此程序集下面的文件.

using?System;
using?System.Collections.Generic;
using?System.Text;

using?System.Reflection;
using?System.Xml;
using?System.IO;

namespace?HDUSearch
...{
???
public??class?IndexConfig
????
...{
???????
GetValue#region?GetValue
???????
public?string?GetValue(string?key)
???????
...{
???????????
string?assemblyFilePath?=?Assembly.GetExecutingAssembly().Location;
???????????
string?assemblyDirPath?=?Path.GetDirectoryName(assemblyFilePath);

???????????XmlDocument?xmlDoc?
=?new?XmlDocument();
???????????xmlDoc.Load(assemblyDirPath?
+?"\Index.config");

???????????XmlNodeList?nodeList?
=?xmlDoc.SelectSingleNode("/configuration/appSettings").ChildNodes;???//獲取appSettings節點的所有子節點???
???????????foreach?(XmlNode?xn?in?nodeList)???//遍歷所有子節點???
???????????...{
???????????????XmlElement?xe?
=?(XmlElement)xn;???//將子節點類型轉換為XmlElement類型???
???????????????if?(xe.GetAttribute("key").IndexOf(key)?!=?-1)
???????????????
...{
???????????????????
return?xe.GetAttribute("value");
???????????????????
break;
???????????????}

???????????}

???????????
return?"";
???????}

???????
#endregion

????}

}

轉載于:https://www.cnblogs.com/lonely7345/archive/2008/06/27/1231351.html

總結

以上是生活随笔為你收集整理的C#创建Windows服务的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。