求助!asp.net能否操作windows服务? asp.net可以访问服务器上windows服务么?我想通过一个web打开和关闭某个系统服务,可问题是总是提示“拒绝访问”啊。我已经将aspnet用户加到管理员群组下了阿,可还是不行啊? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不是阿,我是想用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類來完成是可行的!!! --------------------------------------------------------------- to asp.net可以访问服务器上windows服务么?我想通过一个web打开和关闭某个系统服务,可问题是总是提示“拒绝访问”啊。我已经将aspnet用户加到管理员群组下了阿,可还是不行啊?不要用servicecontroller来控制service,用当前管理员用户和密码来辅助wmi去控制。 Knight94(愚翁) 可以说详细点么?不懂啊。 谢谢楼上的提示,我搜了一下。找到了一些资料使用C#控制远程计算机的服务:http://www.aspxboy.com/1630/default.aspx但里面还是有些不懂,比如我要控制本地的,以及前面提到的“用当前管理员用户和密码来辅助”该怎么做啊? 建立一个connectionoptions,传递过去,参看http://www.codeproject.com/csharp/wmi.asp 怎么操作XML 哥哥给解释一下这段代码吧 求DataGridView简单的问题,分不够可以加 我同事的电脑里有装好的MSDN,我复制过来能直接用吗? c# 调用FlashPaper 如何解决客户端webservice传递参数长度限制? 正则表达式将html解析为xml文件的问题 .Net2005 c# WinForm 中SerialPort 方法 监测打印机状态 C#里面是用什么连接数据库的呀? 关于入侵远程主机,有办法高分!!! Aspose.Excel问题 求救谁有用C#做过从FTP上下载文件到本机
下面的方法一我明白,但是太麻烦了,还要控制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類來完成是可行的!!!
---------------------------------------------------------------
不要用servicecontroller来控制service,用当前管理员用户和密码来辅助wmi去控制。
使用C#控制远程计算机的服务:http://www.aspxboy.com/1630/default.aspx
但里面还是有些不懂,比如我要控制本地的,以及前面提到的“用当前管理员用户和密码来辅助”该怎么做啊?
http://www.codeproject.com/csharp/wmi.asp