【发布时间】:2011-12-01 19:53:49
【问题描述】:
我有一个从 SQL Server Agent job. 调用的 C# 控制台应用程序
该进程作为我创建的网络帐户运行。
最初我收到错误是因为序列化程序试图写入另一个用户的临时目录(SQL Server 代理服务本身的帐户),但我使用配置设置修复了该问题
<system.xml.serialization>
<xmlSerializer tempFilesLocation="c:\\temp"/>
</system.xml.serialization>
但是现在我收到错误 "Unable to generate a temporary class (result=1).
error CS0016: Could not write to output file 'c:\temp\2euqs4ou.dll' -- 'Access is denied. ' "
两个帐户都可以完全控制c:\temp. 我很难过。
我整天都在谷歌上搜索,但没有成功。我拒绝将服务帐户设置为机器管理员,但如果必须,我会这样做。
【问题讨论】:
-
是否有可能有 2 个 EXE 实例正在运行并且都试图同时访问该文件?
-
您如何让 consol 应用程序从 SQLServer 代理作业作为“我关心的网络帐户”运行?
标签: c# serialization permissions