【问题标题】:Configuring Temporary Folder used by a Web Service Client配置 Web 服务客户端使用的临时文件夹
【发布时间】:2014-12-09 19:34:41
【问题描述】:

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

找不到路径的一部分 'C:\Users\TEMP\AppData\Local\Temp\7rcptgnc.tmp'

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

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

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

【问题讨论】:

  • 登录用户的用户名是“TEMP”吗?
  • 这是一个服务器,所以不存在登录用户。该程序由调度程序的用户帐户运行,该帐户不是 TEMP

标签: c# .net web-services executable


【解决方案1】:

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

根据 app/web 配置文件中的设置,我可以为此配置一个自定义目录。

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

我没有调查临时文件是仅在使用网络服务上传文件期间创建的,还是任何网络服务调用都会创建临时文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-24
    • 2014-09-04
    • 2013-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-01
    • 2012-06-25
    相关资源
    最近更新 更多