无法使用Impersonation开始监视global.asax .net 3.5 Web服务上的更改

时间:2011-02-03 17:13:28

标签: asp.net web-services impersonation

我正在尝试在asp.net 3.5 webservice中使用模拟。但是,每当我尝试在启用模拟的情况下运行服务时(在web.config中),我在Windows事件日志中收到以下错误:

异常消息:无法开始监视对“C:\ 1work \ temp \ NotificationWatcherWebServiceClean2010 \ NotificationWatcherWebService \ NotificationWatcherWebService \ global.asax”

的更改

我最初甚至没有global.asax所以我尝试添加1并为我试图冒充的用户添加显式权限。

我正在使用以下环境。
Visual Studio 2010
Windows 7 64位
.Net Framework 3.5

有什么想法吗?

5 个答案:

答案 0 :(得分:4)

每次我拿到一个新盒子或者我的重新成像时,我都会看到这个问题。我要做的是授予被模拟的帐户(假设它是一个帐户,否则您可能需要授予一组用户)访问密钥文件夹。

具体而言C:\windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files您也可以尝试c:\windows\temp和您自己的C:\Users\userid\AppData\Local\Temp用户临时文件夹。

答案 1 :(得分:3)

似乎此错误是由于模拟的用户帐户不是 IIS_IUSRS 组的成员。在控制面板 / 管理工具 / 计算机管理 / 本地用户和组中向该组添加成员资格应该有助于解决问题。

答案 2 :(得分:2)

出于开发目的,以管理员身份运行Visual Studio可能有所帮助。

答案 3 :(得分:1)

请注意,如果您的文件夹与其他用户共享并继承了父权限,则会出现此问题。

我们只需要删除该用户(从文件夹的属性对话框中的“安全”选项卡)及其父权限映射

此外,

  • 确保Visual Studio在管理模式下运行
  • 确保所关注的文件夹不是只读的

folder in concern is not read only

Authenticated Users have access to the folder

答案 4 :(得分:0)

这太糟糕了。我不敢相信我在VS 2017(15.9.15)上遇到过这个问题。

我正在将文件路径/ UNC路径样式发布到我们的生产服务器。

对我来说,解决方法是简单地从我的web.Release.config转换文件中删除模拟内容

  

在您的system.web元素中消除此问题:

<identity impersonate="true"  userName="CONSOTO\my_serviceacct" password="pwd123456" xdt:Transform="Insert"/>

这允许发布正常进行,然后,我显然必须将模拟恢复到目标安装服务器上。

有趣的是,Web配置转换在包含模拟的情况下也可以正常工作。如果我右键单击Web.config,然后选择“发布Web.config”。当我发布整个网站时,模拟位似乎只中断了。