我编写了一个Windows服务,它在本地驱动器(C:\ Testing文件夹)上创建了一个文件。
我已安装此服务。我从IIS中托管的Web应用程序启动此服务。
如果我在服务代码中对此路径进行硬编码,则该服务正常工作但如果我将路径通过Web应用程序传递给Web服务,则事件日志显示异常
无法启动服务。 System.UnauthorizedAccessException:拒绝访问路径“C:\ Testing”。
我的计算机上有管理员权限,我使用相同的帐户启动服务。我怎样摆脱这个例外?
答案 0 :(得分:14)
正如SpikeX所说,您的服务需要具有对文件夹c:\ Testing
的读写权限右键单击该文件夹并更改安全权限。本地系统帐户的“本地服务”:
或者如果您的服务在特定帐户下运行(例如您自己的Windows管理员帐户),请为该帐户授予该文件夹的写入权限。
Services.msc中的服务安全性选项卡:
答案 1 :(得分:5)
答案 2 :(得分:0)
您可以尝试使用Process Monitor之类的内容来验证哪个帐户正在尝试写入C:\ Testing。可能是您所期望的帐户之外的帐户正在尝试创建该文件。
答案 3 :(得分:-1)
当您在本地系统上映射驱动器时,在这种情况下,您可以在通过Windows服务访问的共享文件夹上为网络服务授予权限。