1、為網(wǎng)站添加新的引用,加入:system.serviceproces.dll
2、在代碼文件頭部加如:using System.ServiceProcess;
3、服務的啟動使用如下代碼:
ServiceController sc = new ServiceController("service1");
if (sc.Status == ServiceControllerStatus.Stopped)
{
sc.Start();
}
4、服務的關閉使用如下代碼:
ServiceController sc = new ServiceController("service1");
if (sc.Status == ServiceControllerStatus.Running)
{
sc.Stop();
}
5、服務的控制權限的解決辦法
windows2003等服務器系統(tǒng)都提供了完善的權限訪問機制,這就是我為什么不用前面說過的在asp.net 中調(diào)用另一個程序的辦法來通過net 命令啟動和停止服務。因為首先用net命令顯然比較麻煩,而調(diào)用新進程的發(fā)放程序運行依然是在aspnet的用戶下(通過網(wǎng)頁訪問的默認用戶),當網(wǎng)頁關閉,會話結束時間到達就會自動釋放該用戶運行的相關程序。而net命令同樣需要相應權限。asp.net 中可以在web.config的下添加
從而解決用戶的登入權限問題。
以上五步就可以完成對服務器服務的控制了!
<system.web>
<identity impersonate="true" userName="admin" password="admin"/>