网页调用服务程序

网页调用服务程序N 长时间都没有写博客了 似乎将自己松懈了 还是工作忙了 还是其他繁琐之事 前几天做一个小的功能 就是在 web 页面调用系统服务 或者调用自己的服务程序

大家好,欢迎来到IT知识分享网。

   

       N长时间都没有写博客了,似乎将自己松懈了,还是工作忙了,还是其他繁琐之事?前几天做一个小的功能,就是在web页面调用系统服务,或者调用自己的服务程序。一些心得和大家分享一下,网上的相关知识点也比较少,MSDN上有很多,但是英文较差的我又点吃力。
 

        
场景1:我在客户端做了一个服务程序,当机器一启动,程序就开始运行,假定为:Server.exe

       
场景2:客户端人员需要通过web页面能够控制服务程序Server.exe的启动、运行和停止。

原以为简单的调用便可,如下:
try {
 ServiceController sc = new ServiceController( “IIsWebVirtualDir”);
      if (sc.Status == ServiceControllerStatus.Running)
          sc.Stop();
      else
          sc.Start();
}
但是在IIS下查看结果: 网页调用服务程序

 

可是在VS中调试并没用这种异常,可是为什么是这样呢?我想应该是在IIS中查看,是因为IIS登录用户应该没有权限去启动或者运行服务程序,当VS调试时,此时的用户应该是Administrator用户,当然有足够的权限去开启服务或者停止服务。

          在查看MSDN之后,得知在IIS中可以模拟管理员登录,便可掉用系统服务了。(在ASP.NET应用程序中使用身份模拟(Impersonation)) 当然介绍了很多方法:

这些资料地址:http://www.microsoft.com/China/Community/program/originalarticles/TechDoc/impersonation.mspx

客户端调用服务程序,必须是IIS用户登录,那此时的IIS用户的权限是不够的,必须在代码中模拟指定的用户帐号进行登录具体的程序如下:

//这些定义的常量是登录的模式,如没有桌面的,安全模式等等













转载于:https://www.cnblogs.com/stonespawn/archive/2009/05/05/1450285.html

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/134017.html

(0)
上一篇 2025-07-15 20:10
下一篇 2025-07-15 20:20

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信