ASP.NET Code Impersonation - problems with W2K

We have a Windows Server 2000 (SP4) as web server and are trying to upload
documents to a NAS using code impersonation, following the sample as can be
found at:;EN-US;306158 .

ACL's are correctly set, and the domain account credentials we use are
correct as well. The ASP.NET app works fine on Windows 2003 (tested on two
W2K3 boxes). On Windows 2000 however (also tested on two boxes),
impersonation fails miserably.

On Windows 2000, it always fails with the following Win32 API error message:
"The specified procedure could not be found."

Subsequent calls (after web app startup) result in either one of two Win32
API error messages:

"Overlapped I/O operation is in progress."


"The system cannot find the file specified."

The directory to upload to has been added as virtual directory with the path
to the NAS and the right credentials. ASPNET account has privileges 'Act as
part of OS'.

Any idea why this is working fine on Windows 2003, but not on Windows 2000?

Any comments and suggestions most welcome!



  • which box is logging the error message? The Win2K box or the NAS? Also what OS is the NAS running?

  • Thanks for your comment.

    The web server (W2K) is logging the message, not the NAS.

    I believe the NAS is running a Linux OS.

  • The problem is not related to the NAS. It's the impersonation that fails, before the app even tries to access the NAS.

    My initial post might have been a bit misleading. The account impersonation from the W2K box doesn't work, whereas from the Windows 2003 box, it works fine.

  • impersonation works different for W2K SP3, W2K SP4, W2K3

    I'd avoid impersonation and use ftp if you only need to move a file: easier, platform neutral protocl and easier to setup

  • Stefan,

    We're using upload functionality from the browser, so it makes sense to save it straight-away, rather than saving in a temp location and then having an FTP process move the file to the NAS...



Comments have been disabled for this content.