asp.net可以访问服务器上windows服务么?我想通过一个web打开和关闭某个系统服务,可问题是总是提示“拒绝访问”啊。我已经将aspnet用户加到管理员群组下了阿,可还是不行啊?

解决方案 »

  1.   

    不是阿,我是想用web控制服务器上的某一个服务开启和关闭。有点类似下面的这个问题:
    下面的方法一我明白,但是太麻烦了,还要控制windows服务定时检查数据库
    而方法二看似可行,但是我看不懂是什么意思,究竟怎么用阿?
    =============================================================
    编写一个windows服务,功能比如是重启,关闭系统,运行在服务器端。  
    用asp.net写一个web程序搭在同一服务器的iis上,以便用户可以在客户端以web方式控制服务器的关机、重启等。  
    但是web的指令怎样才能传递给windows服务?    
    ---------------------------------------------------------------   
    方法一:
    提供思路:  
    以数据库作为中间接口 
    ---------------------------------------------------------------  
    方法二:
    Process  process  =  new  Process(); 
    process.StartInfo.FileName  =  "cmd.exe";  
    process.StartInfo.UseShellExecute  =  false;  process.StartInfo.RedirectStandardInput  =  true;  
    process.StartInfo.RedirectStandardOutput  =  true;  
    process.StartInfo.RedirectStandardError  =  true;  
    process.StartInfo.CreateNoWindow  =  false;  
    process.Start();  
         //修改database  和  error的權限  
    process.StandardInput.WriteLine(String.Format("cacls  {0}database  /t  /e  /c  /g  aspnet:f",this.Context.Parameters["targetdir"]));  
    process.StandardInput.WriteLine(String.Format("cacls  {0}error  /t  /e  /c  /g  aspnet:f",this.Context.Parameters["targetdir"]));  
     
    ---------------------------------------------------------------  
     
    因為windows所有的操作都是可以用命令提示符來完成的!!!  
    所以用  Process類來完成是可行的!!!  
    ---------------------------------------------------------------
      

  2.   

    to asp.net可以访问服务器上windows服务么?我想通过一个web打开和关闭某个系统服务,可问题是总是提示“拒绝访问”啊。我已经将aspnet用户加到管理员群组下了阿,可还是不行啊?
    不要用servicecontroller来控制service,用当前管理员用户和密码来辅助wmi去控制。
      

  3.   

    Knight94(愚翁) 可以说详细点么?不懂啊。
      

  4.   

    谢谢楼上的提示,我搜了一下。找到了一些资料
    使用C#控制远程计算机的服务:http://www.aspxboy.com/1630/default.aspx
    但里面还是有些不懂,比如我要控制本地的,以及前面提到的“用当前管理员用户和密码来辅助”该怎么做啊?
      

  5.   

    建立一个connectionoptions,传递过去,参看
    http://www.codeproject.com/csharp/wmi.asp