C# 运行Windows服务时拒绝访问
我使用ASP.NETCore3.x和C#创建了一个Windows服务。在构建项目时,我从新的Windows服务模板开始。当我从开发环境或控制台窗口运行它时,它运行良好。当我将其安装为Windows服务并尝试启动该服务时,我得到一个 “错误5:访问被拒绝。”错误 为了消除错误,我尝试了许多我将在下面概述的方法,但似乎没有任何效果,所以我下载了由Microsoft提供的示例应用程序,位于 同样的结果…当我从VisualStudio中运行示例应用程序时,它运行良好,当作为服务运行时,我会收到拒绝访问错误C# 运行Windows服务时拒绝访问,c#,asp.net-core,.net-core,asp.net-core-3.1,C#,Asp.net Core,.net Core,Asp.net Core 3.1,我使用ASP.NETCore3.x和C#创建了一个Windows服务。在构建项目时,我从新的Windows服务模板开始。当我从开发环境或控制台窗口运行它时,它运行良好。当我将其安装为Windows服务并尝试启动该服务时,我得到一个 “错误5:访问被拒绝。”错误 为了消除错误,我尝试了许多我将在下面概述的方法,但似乎没有任何效果,所以我下载了由Microsoft提供的示例应用程序,位于 同样的结果…当我从VisualStudio中运行示例应用程序时,它运行良好,当作为服务运行时,我会收到拒绝访问错
- 我在本地机器上运行所有这些,我是该机器的管理员
- 我最初尝试使用默认的本地系统帐户运行它;获取拒绝访问错误。 我将登录改为我的域帐户,与我用来登录本地机器的帐户相同,本地机器是这台机器上的管理员;获取相同的访问被拒绝错误
- 我的帐户具有设置为作为服务运行的权限
- 事件查看器仅显示一条显示“拒绝访问”的消息,不创建其他消息
- 我相信拒绝访问错误是在C#代码执行之前发生的。让我相信这一点的是,我在程序的最顶端添加了一行。Main
File.writealText(“C:\\temp\\ws.log”,“$”辅助服务测试@{DateTime.Now}。内容根路径:{AppContext.BaseDirectory}”)代码>。我的帐户可以完全访问临时文件夹。当我从Visual Studio运行应用程序时会创建此文件,但当我将应用程序作为服务运行时不会创建此文件
- 我读过很多网站,包括这个和这个。运气不好,我在这些网站上尝试的一切仍然会产生拒绝访问错误
我已经没有主意了,希望这里有人能给我答案。谢谢 我找到了解决办法,相信我,我觉得自己真的很愚蠢 当我将其作为服务安装时,我只将路径放在“binPath”中
sc创建WindowsService1 binPath=“C:\temp”
一旦我将可执行文件添加到binPath参数中,一切都正常了
将其更改为sc create WindowsService1 binPath=“C:\temp\WindowsService.exe”
,然后它就工作了
我知道这是一个Id10t错误,但是微软应该为“sc”命令提供更好的消息。像“找不到binPath参数中指定的文件”这样的消息会非常有用。这样我就可以省下6个小时的工作
感谢大家回顾和回答这个问题。我找到了解决方案,相信我,我觉得自己真的很愚蠢 当我将其作为服务安装时,我只将路径放在“binPath”中
sc创建WindowsService1 binPath=“C:\temp”
一旦我将可执行文件添加到binPath参数中,一切都正常了
将其更改为sc create WindowsService1 binPath=“C:\temp\WindowsService.exe”
,然后它就工作了
我知道这是一个Id10t错误,但是微软应该为“sc”命令提供更好的消息。像“找不到binPath参数中指定的文件”这样的消息会非常有用。这样我就可以省下6个小时的工作
感谢大家审阅并回答此问题。我认为OP创建了一个web项目,并尝试将其作为awindows服务托管进行简单的复制并将其推送到GitHub,以便我们可以进行复制。我认为OP创建了一个web项目,并尝试将其作为awindows服务托管进行简单的复制并将其推送到GitHub,以便我们可以进行复制。