0

我在 .Net Framework 2.0 中的 XP OS 上有一个 Windows 服务,它访问文件夹并从中读取文件以将其加载到数据库中。
共享文件夹对“所有人”具有完全控制所有子文件夹的权限。并且服务在“本地系统帐户”上运行。并且当前系统使用管理员帐户运行。
堆栈跟踪是:

Message : Error while searching for files in : \\nw1\data\nov2012

Access to the path '\\nw1\data\nov2012' is denied.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.Directory.InternalGetFileDirectoryNames(String path, String userPathOriginal, String searchPattern, Boolean includeFiles, Boolean includeDirs, SearchOption searchOption)
   at System.IO.DirectoryInfo.GetFiles(String searchPattern, SearchOption searchOption)
   at System.IO.DirectoryInfo.GetFiles()
   at MyWinApp.Winservice1.SearchFiles(String imp, FileFolder objFile)

编辑:我在MSDN上发现“LocalSystem 帐户在本地计算机上具有广泛的权限”,但不确定为什么它无法访问网络共享文件夹

任何人都可以建议解决这个问题吗?
谢谢,

4

2 回答 2

0

我在互联网上搜索,但在任何地方我发现无论如何我必须提供用户名/密码才能为 Windows 服务提供访问网络共享文件夹的适当权限(直接到 Windows 服务属性或在 Windows 服务代码中,如这里给出的,该线程中的代码在这里)。
所以为了让它现在工作,我手动将用户名/密码设置为服务属性。

于 2012-11-05T04:52:35.403 回答
0

如果您使用本地帐户运行服务(我相信我们正在谈论的是 windows)并且该本地帐户不属于域或域。您始终可以在运行服务的计算机上创建本地帐户,并在共享文件夹的计算机上创建本地帐户。相同的帐户名,相同的密码。它会工作

于 2014-02-26T09:32:46.993 回答