From googling my problem before posting, I learned that this seems to be a
very common problem with Web Services and dotnet. I read through countless
articles and suggestions but still could only find one way to fix my
problem, which IMHO, is not acceptable.
First let me explain what's happening:
We are using .NET 1.0 (forced by the client) and have built an ASP.NET
application that communicates with our business tier through Web Services.
This was all designed and built in Visual Studio.NET 2002 (the original
VS.NET) and is running on various WinXP and Windows 2000 Server machines.
Like many web applications, a user is required to log on to the 'site'.
This is done through a web service call. The problem is that when the
WebService proxy code is called, an exception is thrown with this message:
"File or assembly name wwapnylv.dll, or one of its dependencies, was not
The dll name, in this case wwapnylv, is different each call and appears to
be generated dynamically by the .NET runtime in the C:\WinNT\Temp directory.
I have confirmed this with a File Monitoring tool. At first I assumed it
was a permissions problem, so I made sure that:
- The local ASPNET and I_USR* accts had full NTFS access to C:\WinNT\Temp
- The local ASPNET and I_USR* accts had full NTFS to the 'Temporary ASP.NET
Files' inside the Framework directory in WinNT\
- After reading a solution posted by someone, I gave the local
NETWORK_SERVICE user full NTFS rights to both of the above directories.
- I reran aspnet_config script on the box (it actually happens on every
machine we use--probably 50 or more so I discounted that this was some
corrupt configuration issue).
It still did not work. The only way I could get it to work, and it worked
immediately was to change what user the aspnet_wp.exe process runs as from
the default of "MACHINE" to "SYSTEM". Once it became SYSTEM everything
The problem is this is a pretty big jump in security rights. This totally
sounds like a permissions problem as running as SYSTEM grants many more
What confused me however is that in many posts people said that by
alternating their code such as ensuring there was a default constructor in
their proxy, or realized their XML was invalid. So basically I am at a
loss. Right now I am running it as SYSTEM, but I would really like to full
understand why this is (especially if Microsoft is so vocal about how they
are focusing on security).