从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帐户在本地计算机上具有广泛的特权”,但不知道为什么它是不能够访问网络共享文件夹

任何人都可以提出解决这个问题?
谢谢,

+0

您确信网络共享和本地文件夹都具有适当的访问权限(例如,允许所有人完全控制)吗? – Kane

+0

是的,我有共享文件夹的双重检查权限 – par

我搜索互联网上,但无论我发现,无论如何,我必须提供用户名/密码,以提供适当的权限,以窗口服务访问网络共享文件夹(直接到窗口服务属性或在窗口服务代码等给出here,该线程中的代码是here)。
所以使它现在工作,我现在手动设置用户名/密码服务属性。

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