I have a completely empty .aspx file located on the IIS6 web server. The server has .net 3.5 installed.
When executed, this file generates an "Invalid characters in path" error. A full stack trace of this error is available here .
The problem can be temporarily fixed using IISReset. However, as soon as any site on this server starts showing this problem, every hit on every .aspx page on this site will cause the same problem (including my completely empty example file).
What could be causing this, and how can I fix it?
Edit : I added a reward in the hope of getting more help with this before we open a support case with Microsoft. I saw a knowledge base article and a blog post that Adam Hughes pointed to, but this information alone does not offer a complete solution. The blog is written for people who have the knowledge and skills that I lack, but apparently I need to pick up. I need help understanding some of the connections and reasoning taking place here.
I specifically seek help on any of these issues that will lead me to a functioning system:
Bypassing the knowledge base article, I chose the CGI program, which is executed in the sixth step. What should I choose here? Should the debugging process described in the blog lead me to finding which program to choose for this?
The blog post talks about debugging methods, but it is suggested that I have knowledge that I donβt have (yet). Despite the fact that I came to the conclusion that I will need ADPlus , I never used this tool or otherwise did not need to check the memory dump before. I'm not sure what to do when the author says this:
Over time, squeezing not so much to lose, I went for a lively debugging approach. Thus, thanks to a problem that is easily reproducible at present, I soon got the necessary memory dump.
How can I use ADPlus (or any other tool) to create a memory dump, and how can I make sure that the memory dump contains the information needed to debug this? Will adplus-crash -iis do what I want?
The problem occurs on the production server. Despite the fact that I can restart this server, if I really need it, I should avoid interruptions whenever possible. Is it safe and reasonable to dump memory on a live server? Will this affect other server features, and if so, what should I look for?
Does it sound like I'm on the right track? What other ways should I look to solve this problem?
Edit: Vinay, here is the information you requested, including ISAPI filters and wildcard mappings:

(source: photobooks.com )

(source: photobooks.com )
The full path to the file associated with the .aspx files: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll .
We have a mirror of this server in our local network. I was able to use this to search all instances of web.config, and I did not find anything unusual. Actually, it looks like we never use this section of web.config, since all the entries were identical to this:
<httpHandlers> <remove verb="*" path="*.asmx"/> <add verb="*" path="*.asmx" validate="false" type="..." /> <add verb="*" path="*_AppService.axd" validate="false" type="..."/> <add verb="GET,HEAD" path="ScriptResource.axd" validate="false" type="..." /> </httpHandlers>
Looking at this, it seems that I should be suspicious of ISAPI_Rewrite3 , which we currently use to support "friendly" URLs on some ASP Classic sites. Is that your diagnosis too? Do I think that correcting this problem will mean replacing ISAPI_Rewrite3?
Edit: I removed the ASP.NET entry from the ISAPI filter list. The full path for this was C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_filter.dll . There are no obvious side effects from removing this. MSDN claims that it is used to maintain session state without cookies, which in any case is not vital to this server.
Several hours passed and the problem did not occur after removing the ASP.NET filter. Unfortunately, I have no means to reproduce the problem, except to wait for its recurrence. I'll leave it until tomorrow evening. If the problem persists, I will also remove the ISAPI_Rewrite3 filter and try again (fortunately, this filter functionality is not widely used by our clients). In any case, I will return and report on my results.
I checked the <httpModules> section as requested. All such entries in all web.config files on this server are identical to this example:
<httpModules> <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> </httpModules>
Thank you for your help!