无法打开计算机“.”上的服务控制管理器。此操作可能需要其他特权。
出错的代码段
该服务主要监视另一个服务的服务状态
定时获取GprsService的服务状态,如果超过指定时间没有获取到数据,重启GprsService服务.
try
{
ServiceController serviceGprs = new ServiceController("GprsService");
string serviceState = serviceGprs.Status.ToString(); //最近一条数据与当前时间的时间差
int timeDiff = Helper.GetLastData(); if (serviceState.Equals("Stopped"))
{
timer.Enabled = false;
serviceGprs.Start();
//等待
Helper.AddLog("GprsService异常终止,正在重新启动!");
serviceGprs.WaitForStatus(ServiceControllerStatus.Running);
Helper.AddLog("GprsService异常终止,启动完毕!");
timer.Interval = outTime * 60 * 1000;
timer.Enabled = true;
}
else if (timeDiff > outTime)
{
timer.Enabled = false;
//等待
Helper.AddLog("GprsService没有响应,正在停止服务!");
serviceGprs.Stop();
serviceGprs.WaitForStatus(ServiceControllerStatus.Stopped);
Helper.AddLog("服务已经停止,正在重新启动服务!");
serviceGprs.Start();
serviceGprs.WaitForStatus(ServiceControllerStatus.Running);
Helper.AddLog("GprsService没有响应,启动完毕!");
timer.Interval = outTime * 60 * 1000;
timer.Enabled = true;
}
}
catch (Exception ex)
{ Helper.AddErrLog(ex);
}平时该服务一直运行正常并且能够正常重启指定的GprsService服务
今天一看,9月12号23点的时候报了错误,捕获的错误日志如标题所示.
怎么回事???
另一个服务器上的监视服务也是报同样的错误,时间是9月23凌晨3点.奇怪了
难道那段时间服务器上的360漏洞修复造成的???
解决方案 »
- C# IntPtr.Zero 总是为0 是什么意思
- C#怎样实现关闭显示器后移动鼠标或按键不开启显示器
- 求一个用C#写的MD5算法
- 求教 将截断字符串或二进制数据。语句以终止.
- 关于组织管理多个窗体的问题---如何在需要的时候把一个Form加到TabControl的一个选项卡中?
- --------ASP.NET怎么实现产品浏览的功能?请帮忙------
- Infragistics2.WebUI.UltraWebTab.v7.2.dll控件调不出来
- SqlHelper 问题
- 如何用OpenSmtp实现发送Html格式的邮件啊?
- 求教
- WCF 出来了 Rometing和WebService 是不是就淘汰了
- 使用线程扫描网络段 出现 索引超出了数组界限。 错误
遇到过同样的问题
应该是因为在WIN7或VISTA下我们启动"Visual Studio 2008命令提示"的时候没有以管理员身份运行.权限不够所致.
将如下代码保存为reg格式的文件然后运行就可以了:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\runas]
@="管理员取得所有权"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\*\shell\runas\command]
@="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"
[HKEY_CLASSES_ROOT\exefile\shell\runas2]
@="管理员取得所有权"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\exefile\shell\runas2\command]
@="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"
[HKEY_CLASSES_ROOT\Directory\shell\runas]
@="管理员取得所有权"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\Directory\shell\runas\command]
@="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t"
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t" 操作完后就会出现以管理员身份运行该程序了!