【发布时间】:2013-10-15 03:19:09
【问题描述】:
在 Web 服务调用中调用方法时出现此错误。根据下面的帖子Error: Unable to generate a temporary class (result=1) ... When Invoking Methods on a Web Service,我们只需要授予 NETWORKSERVICE 访问 C:\Windows\TEMP 目录的权限。问题是我们在 Windows Azure 上运行这个应用程序,我不确定如何在每次服务器循环或部署时授予 NETWORKSERVICE 角色访问目录的权限。
关于如何确保 NETWORKSERVICE 始终可以访问 Azure 上的该目录的任何想法?
编辑: 我们尝试远程登录到每台服务器并直接授予 IIS_IUSRS 组对 Windows Temp 的完全访问权限并重新启动 IIS,但仍然看到问题。在 Azure 上,windows 临时目录实际上存储在 D 驱动器上,因此由于异常状态它试图访问 C:\Windows\Temp,我们确实手动创建了该目录并授予相同的组完全访问权限,但它仍然没有没用。
【问题讨论】:
-
您使用的是 Azure 网站、Azure Web 角色还是 Azure 虚拟机 + IIS?
-
我们使用的是虚拟机 + IIS。我可以远程访问每台服务器并手动设置它,但如果实例循环或删除该部署,我将不得不再次进入。
-
我不明白你在做什么。目录上的安全属性不是易失性的。如果您允许用户 X 读取/写入目录,则权限在系统重新启动后也保持不变。
-
但是如果我们删除了部署/服务角色,或者如果服务器由于某种原因被重新映像,那么该设置就不会保留对吗?
-
尼克,您确定您使用的是虚拟机吗?根据您的回复,我认为您正在使用 Web 角色。正如我所说,在“原始”虚拟机 (Iaas) 上,您可以完全控制您的服务器。
标签: web-services azure