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\xmlseri
alizerhelper.cs:line 61
   at WebService.Workflow.GetApprovalDesc(Int32 workflowID) in
c:\inetpub\wwwroot\Foo\WebServices\FooWebServiceProjects_WebService\Workflo
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\Workflo
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.

Reply via email to