【发布时间】:2012-02-07 21:21:59
【问题描述】:
我编写了一个 Windows 服务,它在本地驱动器(C:\Testing 文件夹)上创建一个文件。
我已经安装了这个服务。我从 IIS 中托管的 Web 应用程序启动此服务。
如果我在服务代码中硬编码此路径,服务工作正常,但如果我将路径通过 Web 应用程序传递到 Web 服务,事件日志显示异常
服务无法启动。 System.UnauthorizedAccessException:对路径“C:\Testing”的访问被拒绝。
我在我的机器上拥有管理员访问权限,并且我正在使用同一个帐户启动服务。我怎样才能摆脱这个异常?
【问题讨论】:
-
您必须为
LOCAL SERVICE用户帐户(或运行您的服务的任何用户帐户)向您的测试文件夹添加写入权限。 -
或者使用通常已经配置为所有人使用的文件夹,例如温度
-
Web 应用程序和 Windows 服务之间如何通信?您确定访问路径的是服务,而不是使用服务代码的 Web 应用吗?
-
@SpikeX:我授予本地服务帐户对测试文件夹的完全权限。我还授予了 Windows 登录帐户的完全权限。仍然得到同样的异常
标签: c# windows-services