配置Web服务客户端使用的临时文件夹

时间:2014-12-09 19:34:42

标签: c# .net web-services executable

我们有一个独立的.NET控制台程序EXE,可以使用sharepoint Web服务将文件上传到sharepoint。这由公司调度程序运行。由于服务器安全团队对文件夹权限的限制,我们在上传过程中遇到了错误。

  

无法找到路径的一部分   ' C:\用户\ TEMP \应用程序数据\本地\ TEMP \ 7rcptgnc.tmp'

应用程序代码不显式访问临时文件夹,它只使用文件流调用Web服务。

问题是:有没有办法在exe.config中提供设置,以便为临时文件使用特定文件夹,以防止它使用默认的临时文件夹。

更改环境变量以更改Windows临时文件夹并向上述临时文件夹添加权限不是首选选项。

1 个答案:

答案 0 :(得分:0)

我找到了上述问题的答案。 Web服务调用的XML序列化是在默认临时文件夹中创建临时文件,权限受服务器管理员限制。

在app / web配置文件中进行设置后,我可以为此配置自定义目录。

<system.xml.serialization> 
  <xmlSerializer tempFilesLocation="c:\\foo"/> 
</system.xml.serialization>

我没有查看临时文件是否仅在使用Web服务上传文件期间创建,或者任何Web服务调用都会创建临时文件。