从Windows服务的共享文件夹访问文件
问题描述:
我在.Net Framework 2.0中的XP操作系统上有一个Windows服务,它访问文件夹并从中读取文件以将其加载到数据库中。
共享文件夹具有完全控制所有子文件夹的“Everyone”权限。并在“本地系统帐户”上运行服务。并且当前系统以管理员帐户运行。
堆栈跟踪为:
从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帐户在本地计算机上具有广泛的特权”,但不知道为什么它是不能够访问网络共享文件夹
任何人都可以提出解决这个问题?
谢谢,
答
如果您使用本地帐户运行服务(我认为是windows,我们正在讨论的),并且本地帐户不属于域或域。 您可以随时在运行服务的计算机上创建本地帐户,并在共享该文件夹的计算机上创建本地帐户。 相同的帐户名称,相同的密码。它会工作
您确信网络共享和本地文件夹都具有适当的访问权限(例如,允许所有人完全控制)吗? – Kane
是的,我有共享文件夹的双重检查权限 – par