Ah yes, I remember this bug well. It was a pain in the butt to track
down since the repro conditions were kind of weird. We fixed it for the
next release. Your analysis of the repro situation is very accurate,
though I remember there was one other condition: the dll containing the
web service code was signed (it is the sign-verification step that is
failing and causing the "access denied" error). Maybe this explains why
you only saw it on some machines and not others?

I think you can work around the bug by not signing your dlls... Let me
know if I'm wrong about that.

alex

-----Original Message-----
From: Atul Khare [mailto:[EMAIL PROTECTED]] 
Sent: Friday, August 16, 2002 9:55 PM
To: [EMAIL PROTECTED]
Subject: [ADVANCED-DOTNET] ASP.NET:Unable to generate temporary class
error...

Hi folks,

My web service is configured to use NTLM authentication in IIS (w/o
anonymous access) and is also uses the authentication="windows" and
impersonate="true" settings in web.config. However for some strange
reason, I seem to get the "unable to temporary class" error while trying
to access my web service (see [1] for details).

This error goes away if:

a) impersonate is set to "false"
OR
b) ASP.NET is configured to run under the SYSTEM account

Is this a bug in ASP.NET? Note that this seems to happen only on some
machines (right now I have seen it only on *some* XP machines). I even
tried giving the remote user administrative rights to the machine but
with
no luck. There are no directory permission restrictions on the entire
drive and therefore everyone should be able to access any directory on
the
machine.

[1]:

System.Web.Services.Protocols.SoapException: Unable to generate a
temporary class (result=1).
error CS0009: Metadata file 'C:\WINNT\Microsoft.NET\Framework\v1.0.3705
\Temporary ASP.NET
Files\eam_webservices_Foowebserviceprojects_webservice\aaf0c337\eff30307
\assembly\dl\ff172149\b1dcec4e_743dc201\Foo.DLL' could not be opened --
 'Access is denied. '
 ---> System.InvalidOperationException: Unable to generate a temporary
class (result=1).
error CS0009: Metadata file 'C:\WINNT\Microsoft.NET\Framework\v1.0.3705
\Temporary ASP.NET
Files\eam_webservices_Foowebserviceprojects_webservice\aaf0c337\eff30307
\assembly\dl\ff172149\b1dcec4e_743dc201\Foo.DLL' could not be opened --
 'Access is denied. '

   at System.Xml.Serialization.Compiler.Compile()
   at System.Xml.Serialization.TempAssembly..ctor(XmlMapping[]
xmlMappings)
   at System.Xml.Serialization.XmlSerializer..ctor(Type type)
   at WebService.XmlSerializerHelper.GetCollectionAsXmlDocument(Object
collection) in
c:\inetpub\wwwroot\Foo\webservices\Foowebserviceprojects_webservice\xmls
eri
alizerhelper.cs:line 61
   at WebService.Workflow.GetApprovalDesc(Int32 workflowID) in
c:\inetpub\wwwroot\Foo\WebServices\FooWebServiceProjects_WebService\Work
flo
w.asmx.cs:line 140
   --- End of inner exception stack trace ---
   at WebService.Workflow.GetApprovalDesc(Int32 workflowID) in
c:\inetpub\wwwroot\Foo\WebServices\FooWebServiceProjects_WebService\Work
flo
w.asmx.cs:line 148


Atul

You can read messages from the Advanced DOTNET archive, unsubscribe from
Advanced DOTNET, or
subscribe to other DevelopMentor lists at http://discuss.develop.com.

You can read messages from the Advanced DOTNET archive, unsubscribe from Advanced 
DOTNET, or
subscribe to other DevelopMentor lists at http://discuss.develop.com.

Reply via email to