我有一个windows服务TestServices 并且设置为“允许服务与桌面交互” 我想在asp.net中启动这个服务,所以写如下代码private System.ServiceProcess.ServiceController sc = new ServiceController("TestServices",".");
protected void Button1_Click(object sender, EventArgs e)
{
if (sc.Status == ServiceControllerStatus.Stopped)
sc.Start();
}可是一点启动按钮就报错[Win32Exception (0x80004005): 拒绝访问。][InvalidOperationException: 无法打开计算机“.”上的 TestServices 服务。]
System.ServiceProcess.ServiceController.GetServiceHandle(Int32 desiredAccess) +171
System.ServiceProcess.ServiceController.Start(String[] args) +119
System.ServiceProcess.ServiceController.Start() +23
_Default.Button1_Click(Object sender, EventArgs e) in d:\Documents and Settings\Administrator\my documents\visual studio 2005\websites\website4\Default.aspx.cs:27
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +105
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +107
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5102如何解决?
protected void Button1_Click(object sender, EventArgs e)
{
if (sc.Status == ServiceControllerStatus.Stopped)
sc.Start();
}可是一点启动按钮就报错[Win32Exception (0x80004005): 拒绝访问。][InvalidOperationException: 无法打开计算机“.”上的 TestServices 服务。]
System.ServiceProcess.ServiceController.GetServiceHandle(Int32 desiredAccess) +171
System.ServiceProcess.ServiceController.Start(String[] args) +119
System.ServiceProcess.ServiceController.Start() +23
_Default.Button1_Click(Object sender, EventArgs e) in d:\Documents and Settings\Administrator\my documents\visual studio 2005\websites\website4\Default.aspx.cs:27
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +105
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +107
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5102如何解决?
怎么加管理员权限?
password="registry:HKLM\Software\AspNetIdentity,Password"
Web.config相关部分示例: <system.web>
<machineKey
validationKey= "250B3C89CB21F4F1422FF158A5B42D0E8DB8CB5CDA1742572A487D9401E3400267682B202B746511891C1BAF47F8D25C07F6C39A104696DB51F17C529AD3CABE"
decryptionKey= "1A9BE8FD67AF6979E7D20198CFEA50DD3D3799C77AF2B72F"
validation="SHA1"
/>
<identity impersonate="true" userName="DomainWeb\ASPNETOwner" password="Password"/>
<httpRuntime maxRequestLength="10240" useFullyQualifiedRedirectUrl="true" appRequestQueueLimit="500" executionTimeout="100"/>
</system.web>
2.通过wmi或SerivceControl来控制服务。
http://blog.csdn.net/zhzuo/archive/2004/03/29/22025.aspx