I am trying to use impersonation in a an asp.net 3.5 webservice. However whenever I try to run the service with Impersonation enabled (In web.config) I am receiving the following error in my Windows Event log:
Exception message: Failed to start monitoring changes to 'C:\1work\temp\NotificationWatcherWebServiceClean2010\NotificationWatcherWebService\NotificationWatcherWebService\global.asax'
I initially didn't even have a global.asax so I tried adding 1 and adding explicit permissions for the user I'm trying to impersonate.
I am using the following environment.
Visual Studio 2010
Windows 7 64-bit
.Net Framework 3.5
Any ideas?
I've seen this issue each time I get a new box, or have mine reimaged. What I have to do is grant the account that is being impersonated (assuming it's a single account, otherwise you may need to grant a group of users) access to key folders.
Specifically
C:\windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files
but also you might tryc:\windows\temp
and your own user temp folder located atC:\Users\userid\AppData\Local\Temp
.It seems this error is a result of the impersonated user account not being a member of the IIS_IUSRS group. Adding membership to this group in Control Panel / Administrative Tools / Computer Management / Local Users and Groups should help to resolve the problem.
Please note if your folder is shared with some other user and inheriting parent permission then also, this issue arises.
We just have to remove that user (from the Security tab in the properties dialogue of the folder) and its parent permission mapping
Also,
Authenticated Users
orASPNET
and (optionally)IIS_IUSRS
have access to the concerned folderFor development purposes, running Visual Studio as Admin might help.
This is so bad. I can't believe I'm encountering this on VS 2017 (15.9.15).
I am doing file path / UNC path style publishing to our production server.
The fix for me was to simply remove the impersonation from my web.Release.config transform file
This allows publishing to proceed as normal, then, I obviously have to put the impersonation back into place on the target installation server.
Funny thing is, web config transformations work just fine with impersonation included.. if I right-click the
Web.config
and select "Publish Web.config". The impersonation bit only seems to break when I publish the entire web site.