无法从SharePoint Server 2007(MOSS)执行System.IO.File.Move到网络驱动器

时间:2010-01-30 21:42:20

标签: asp.net sharepoint-2007 web-parts .net

我正在使用VS2008 C#和MOSS(SharePoint Server 2007)。

我创建了一个asp.net Web表单,它出现在SharePoint站点的WebPart中。提交表单时,会生成一个小的.csv文件。理想情况下,我希望在网络驱动器(在另一台服务器上)上创建此文件,但由于某种原因,我不能这样做。我可以在我正在处理的SharePoint服务器本身的硬盘驱动器上愉快地创建文件,但它永远不会出现在我选择的任何网络驱动器上。

然后我想我先在我的c:驱动器上创建文件(因为它工作),然后使用asp.net将文件“移动”到网络目录。我用过:

System.IO.File.Move(sourceFile, destinationFile);

这也在'移动'阶段失败了。 - 文件被创建好了!在我正在处理的MOSS服务器上,有一个C:驱动器和一个D:驱动器(已分区)。文件创建在两个驱动器上都能正常工作,但即使我避免使用驱动器映射,也不是任何网络驱动器,如下所示:

(例如“G:\\群组档案\\”“\\\\全球\\群组档案\\”

显然,我认为安全性是一个问题,所以我确保MOSS服务器和网络服务器都使用Active Directory以“完全访问”相互允许。我甚至授予自己作为用户,管理员组,ASPNET帐户,NETWORK SERVICE帐户(以及其他)以及MODIFY访问权限的访问权限。仍然没有快乐。我可以PING我想要创建.csv文件的网络服务器,所以它正在“看到”它。

我所做的解决方法是在SharePoint服务器的c:驱动器上创建文件,然后运行批处理文件(按计划)将文件纯粹复制到目标G:驱动器 - 这可以解决问题,但是我很沮丧,我无法使用代码直接在目标服务器上创建文件。

我有一种预感,它与SharePoint有关,但如果有人能够阐明这件事,我将非常感激!!

提前谢谢,Ash; - )

1 个答案:

答案 0 :(得分:0)

啊,我今天遇到了这个问题,并在寻找答案时发现了这个问题。我的问题是我的临时目录没有正确的权限!当然,我可以毫无问题地上传文件,但除非我使用的是LAN帐户,否则我无法移动它。我确保NETWORK SERVICE和我的sharepoint应用程序池有权访问,并确保上传文件的用户也有权限。然后它奏效了。