ASP.NET app initialization problem (Failed to map the path)

G

Guest

I have the following setup:

A website that is completely accessible to a logged-in user. Access control
is handled by a third-party external module implemented as an ISAPI filter.

The /webservices subdirectory contains a public webservice. The ISAPI filter
is configured to ignore this directory, so it is anonymously accessible.

When the application is up and running, everything works as expected.
However if the first access to the application after a restart is made to the
/webservices directory by an anonymous user, I get the following:

[HttpException (0x80004005): Failed to map the path '/webservices'.]
System.Web.Hosting.ISAPIWorkerRequestInProcForIIS6.MapPathSlowUsingIISCore(String path) +240
(complete error message below)

It seems that the IIS can't initialize the application because the current
visiting user doesn't have access to the root directory! Why does MapPath
need the current user to be able to access the web application's root
directory? Is it trying to read web.config in some strange way (if so -
shouldn't this be done directly through the file system instead of through
the IIS)?

If the first access to the application after a restart is made to the root
directory by a regular authenticated user it initializes fine and subsequent
anonmyous access to the /webservices directory works fine as well...

Anyone with enough knowledge of ASP.NET's inner workings to help me out?

---
[HttpException (0x80004005): Failed to map the path '/webservices'.]
System.Web.Hosting.ISAPIWorkerRequestInProcForIIS6.MapPathSlowUsingIISCore(String path) +240
System.Web.Hosting.ISAPIWorkerRequest.MapPath(String path) +419
System.Web.Configuration.HttpConfigurationSystem.ComposeConfig(String
reqPath, IHttpMapPath configmap) +459
System.Web.HttpContext.GetCompleteConfigRecord(String reqpath,
IHttpMapPath configmap) +434
System.Web.HttpContext.GetCompleteConfig() +49
System.Web.HttpContext.GetConfig(String name) +195
System.Web.CustomErrors.GetSettings(HttpContext context, Boolean
canThrow) +20
System.Web.HttpResponse.ReportRuntimeError(Exception e, Boolean canThrow)
+39
System.Web.HttpRuntime.FinishRequest(HttpWorkerRequest wr, HttpContext
context, Exception e) +486
---
 
G

George

You config is rather complicated and it's hard to tell you anything here.
To be honest with you i did not even understand your configuration especially you are using some custom ISAPI filter i do not have knowledge about.


I would try to configure the /WebService subfolder as an application in IIS management console. That might help.

George.
Does no-one have knowledge of the inner workings of initializing ASP.NET apps?
--
Iteam Solutions - Microsoft Certified ISV Partner (www.iteam.se)


Anders Bornholm said:
I have the following setup:

A website that is completely accessible to a logged-in user. Access control
is handled by a third-party external module implemented as an ISAPI filter.

The /webservices subdirectory contains a public webservice. The ISAPI filter
is configured to ignore this directory, so it is anonymously accessible.

When the application is up and running, everything works as expected.
However if the first access to the application after a restart is made to the
/webservices directory by an anonymous user, I get the following:

[HttpException (0x80004005): Failed to map the path '/webservices'.]
System.Web.Hosting.ISAPIWorkerRequestInProcForIIS6.MapPathSlowUsingIISCore(String path) +240
(complete error message below)

It seems that the IIS can't initialize the application because the current
visiting user doesn't have access to the root directory! Why does MapPath
need the current user to be able to access the web application's root
directory? Is it trying to read web.config in some strange way (if so -
shouldn't this be done directly through the file system instead of through
the IIS)?

If the first access to the application after a restart is made to the root
directory by a regular authenticated user it initializes fine and subsequent
anonmyous access to the /webservices directory works fine as well...

Anyone with enough knowledge of ASP.NET's inner workings to help me out?

---
[HttpException (0x80004005): Failed to map the path '/webservices'.]
System.Web.Hosting.ISAPIWorkerRequestInProcForIIS6.MapPathSlowUsingIISCore(String path) +240
System.Web.Hosting.ISAPIWorkerRequest.MapPath(String path) +419
System.Web.Configuration.HttpConfigurationSystem.ComposeConfig(String
reqPath, IHttpMapPath configmap) +459
System.Web.HttpContext.GetCompleteConfigRecord(String reqpath,
IHttpMapPath configmap) +434
System.Web.HttpContext.GetCompleteConfig() +49
System.Web.HttpContext.GetConfig(String name) +195
System.Web.CustomErrors.GetSettings(HttpContext context, Boolean
canThrow) +20
System.Web.HttpResponse.ReportRuntimeError(Exception e, Boolean canThrow)
+39
System.Web.HttpRuntime.FinishRequest(HttpWorkerRequest wr, HttpContext
context, Exception e) +486
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,764
Messages
2,569,564
Members
45,039
Latest member
CasimiraVa

Latest Threads

Top