asp.net控制系统服务

一、使用asp.net对服务器服务的控制
  通过自己的网站直接了解服务器的运行情况,控制服务器的各项服务器是每个管理员非常希望做的事情。我也正式因为考虑到远程登入烦琐占用带宽等的原因才决定这样做。经过实验和收集资料,发现用asp.net控制系统服务还是相当简单的。主要有以下几个步骤:


1、为网站添加新的引用,加入:system.serviceproces.dll


2、在代码文件头部加如:using System.ServiceProcess;


3、服务的启动使用如下代码:

+展开
-C#
         ServiceController sc = new ServiceController("service1");
        if (sc.Status == ServiceControllerStatus.Stopped)
        {
            sc.Start();
        }

4、服务的关闭使用如下代码:
+展开
-C#
        ServiceController sc = new ServiceController("service1");
        if (sc.Status == ServiceControllerStatus.Running)
        {
            sc.Stop();
        }

5、服务的控制权限的解决办法
  windows2003等服务器系统都提供了完善的权限访问机制,这就是我为什么不用前面说过的在asp.net 中调用另一个程序的办法来通过net 命令启动和停止服务。因为首先用net命令显然比较麻烦,而调用新进程的发放程序运行依然是在aspnet的用户下(通过网页访问的默认用户),当网页关闭,会话结束时间到达就会自动释放该用户运行的相关程序。而net命令同样需要相应权限。asp.net 中可以在web.config的下添加
从而解决用户的登入权限问题。


以上五步就可以完成对服务器服务的控制了!

二、c#编写系统服务程序
  C#建立windows服务程序也并非难事。
1、首先当然是添加新项目,然后选择“windows 服务”
2、建立了如:MyService项目,在你的Service1.cs 文件里面

+展开
-C#
 protected override void OnStart(string[] args)
        {
            // TODO: 在此处添加代码以启动服务。
        }
  protected override void OnStop()
        {
            // TODO: 在此处添加代码以执行停止服务所需的关闭操作。
         }


  写服务程序主要就是将自己的代码写在上面了。具体写什么大家可以本着想写什么写什么的思路ToDO了!
当然,还没完要是这么简单就不是服务程序了,说是服务程序总要和普通的windows应用程序有所区别吧,区别在下面:


  当我们写完了自己想写的代码,下对的就是如何在系统上面安装上自己的服务程序了。按下面TODO吧:
1、安装前的应用程序设置
  在项目资源管理器里点击刚才Service1.cs,如果这是后是代码模式的话,点设计模式,注意它的代码和设计模式切换是在项目资源管理器里的头头上面,不是在我们熟悉的设计窗口的做下角哦(图一)。这是切换好了后,在设计窗口上右键,发现了"添加安装文件"添加后,发现设计模式下多出 serviceINstaller1和serviceProcessInstaller1两个组件,而解决方案资源管理器下多出了 projectinstaller.cs文件,此文件没有特别需要不需要去改它,先选择serviceINstaller1,在他的属性中account 就是服务运行的模式(网络,本地...)选择自己需要的就好
  再选择serviceINstaller1组件,它的属性里Descripton是服务描述,ServiceName是服务名称,StarType是服务启动形式(可选手动,自动,禁止)把这些通通改为自己喜欢的,选择生成下面的“生成..”,(注意服务程序编写整个过程严禁用F5方式)没有错误的话就生成了需要的exe了。


2、安装程序的准备工作
  为了方便安装,在你的电脑上找到InstallUtil.exe程序。将他拷贝到和你生成的exe同一个位置。


3、安装
  在命令行下将目录切换到你的exe文件位置,用命令:
  InstallUtil 你的exe文件名
  提示安装成功!


4、卸载
在命令行下将目录切换到你的exe文件位置,用命令:
InstallUtil /u 你的exe文件名
提示卸载成功


5、反复测试
  以上的步骤还算简单,通常一两次就熟悉了,当然新手的话可能要实验多几次。
【转】http://www.bcbbs.net/html/66257.html

加支付宝好友偷能量挖...


评论(0)网络
阅读(93)喜欢(0)Asp.Net/C#/WCF