asp.net 控制windows服务
生活随笔
收集整理的這篇文章主要介紹了
asp.net 控制windows服务
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
asp.net 控制windows服務 最近做一個小的項目,經理要求winform與web都可操作。于是將其做成服務,winform下調用很簡單。asp.net下大部分過程是一樣的。但需要涉及到用戶的權限,需要在web.config文件中做下配置。
1、為網站添加新的引用,加入: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等服務器系統都提供了完善的權限訪問機制,這就是我為什么不用前面說過的在asp.net 中調用另一個程序的辦法來通過net 命令啟動和停止服務。因為首先用net命令顯然比較麻煩,而調用新進程的發放程序運行依然是在aspnet的用戶下(通過網頁訪問的默認用戶),當網頁關閉,會話結束時間到達就會自動釋放該用戶運行的相關程序。而net命令同樣需要相應權限。asp.net 中可以在web.config的下添加
??? 從而解決用戶的登入權限問題。
????? 以上五步就可以完成對服務器服務的控制了!
<system.web>
??? <identity impersonate="true" userName="admin" password="admin"/>
1、為網站添加新的引用,加入: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等服務器系統都提供了完善的權限訪問機制,這就是我為什么不用前面說過的在asp.net 中調用另一個程序的辦法來通過net 命令啟動和停止服務。因為首先用net命令顯然比較麻煩,而調用新進程的發放程序運行依然是在aspnet的用戶下(通過網頁訪問的默認用戶),當網頁關閉,會話結束時間到達就會自動釋放該用戶運行的相關程序。而net命令同樣需要相應權限。asp.net 中可以在web.config的下添加
??? 從而解決用戶的登入權限問題。
????? 以上五步就可以完成對服務器服務的控制了!
<system.web>
??? <identity impersonate="true" userName="admin" password="admin"/>
總結
以上是生活随笔為你收集整理的asp.net 控制windows服务的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 飞秋下载2010正式版_飞秋下载
- 下一篇: 一个基于xml的超级orm框架-世界是由