Coldfusion and ASP.NET coexisting on IIS, where’d WebResource.axd go?

My Monday morning WTF comes from IIS7 on Windows 7.  I recently installed Coldfusion9 on this machine which has a handful of existing ASP.NET 3.5 web applications.  The problem I ran into came after installing Coldfusion9 and electing to configure all IIS websites to work with CF.  While that is convenient, it ended up breaking one of my ASP.NET applications that was using ASP Validation controls on a login form.  Now that things are figured out, here are the details.

Firing up my ASP.NET application gives me the error message :

The WebResource.axd handler must be registered in the configuration to process this request

Misleading web handler error message

WebResource.axd handler must be registered

Obviously all I could think is WTF?!?!? since this application worked on Friday and now it is broken.  The first thing I want to point out is that in my situation, the suggested solution of mapping WebResource.axd in the httpHandlers section of my web.config did not help this problem.  After some googling I cam across this post on the IIS.NET forums which put me on the right track.  You can read the details there if you want a good background on MS’ response and other users running CF and ASP.NET on the same box.

I’m happy to say I have three workarounds for this issue.  Hopefully these will help you as well.

1. Change your AppPool to run in Classic Mode

  1. In inetmgr, put your web application into it’s own Application Pool ( unless it’s already in it’s own pool )
  2. Change that AppPool’s Managed pipeline mode to “Classic”
  3. You should be good to go
Change Managed Pipeline Mode to Classic

Classic mode is for compatibility ( think IIS6 )

2. Stop using ASP Validation controls

All ASP.NET Validation controls are hosted by WebResource.axd.  If you stop using ASP Validator controls, the server will stop asking for WebResource.axd.

Comment out ASP Validator controls

Removing ASP Validator controls should remove this error

3. Remove Coldfusion handler mappings from your ASP.NET site

If your ASP.NET app isn’t using Coldfusion, I would suggest doing this as your solution.  Even if you do need Coldfusion in your ASP.NET app, you could still host your CF app in it’s own Virtual Directory and request if via ASP.NET.

  1. Open inetmgr
  2. Select your web app on the left ( under Default Web Site )
  3. In Features View on the right, double click Handler Mappings
  4. Sort your Handler Mappings by Name, and remove all entries titled “AboMapperCustom-*”
  5. Now your ASP.NET should work like a champ.
IIS7 inetmgr Handler Mappings

IIS7 Handler Mappings

Coldfusion9 Handler Mappings

Coldfusion9 Handler Mappings

Monday WTF solved.  Now to get back to pushing buttons.

About Eric Fickes

Independent Internet Consultant by day. Skateboarder, Bass player, Husband and Father by night. You can hire me to build internet powered solutions
This entry was posted in .net, adobe, coldfusion, development, microsoft, tips and tricks and tagged , , , , , . Bookmark the permalink.

13 Responses to Coldfusion and ASP.NET coexisting on IIS, where’d WebResource.axd go?

  1. Hey Great Blog found it on Aol . BTW Check out my Blog

  2. Pingback: ASP.net and Coldfusion together on IIS7 « My experiences with SharePoint, IIS, Windows Servers

  3. Brian says:

    Couldn't leave here without posting a comment. THANK YOU for this information! You were my small team's saving grace after we were pulling our hair out with this one.

    Brian

  4. hi, this blog entry was very usefull for me. But it was difficult to find it with yahoo. Maybe you should improve it with seo plugins for wordpress like headspace2. Just a tip ;)

    • Eric Fickes says:

      Yahoo, don't make me laugh. :) Thanks for the tip though, I'll take a look at that plugin.

  5. Tom K... says:

    Thank you!! Thank you!!….. I was about to give up on this after several hours looking for the ColdFusion/ASP.NET solution. I just started a new job where ColdFusion is the standard and loaded the development server on my local machine causing all my previous .NET applications to stop dead in their tracks. Your third solution was a perfect fix.
    You are the MAN!!!!

  6. mcb2k3 says:

    Thanks! #3 was exactly what I needed. I have an ASP.NET integrated mode app I just installed on a server that already had CF installed as a different "site." It seemed like it should work out of the box, but it didn't. It's running fine now, though.

  7. mcb2k3 says:

    I may have written a little too soon, but I think I have come across solution #4. Removing the CF handlers from the ASP.NET site gets things up and running, but then next time I publish an update to the ASP.NET app, the handlers come back. I came across an entry like the one below in someone's web.config while Googling, however, and I immediately saw what why it was there. I think it is going to be the best solution for me if it works (I will have to wait and test it at night since CF is only on the production server).

    • Eric Fickes says:

      Hmmmm that is a brain puzzler. Removing the mappings via IIS *should* remove the mappings from your application's web.config file. However, if the mappings are showing back up it makes me wonder if it's IIS, ASP.NET, or maybe even Visual Studio re-adding those CFML handler mappings.

      I'm definitely interested to hear what you find out, and hopefully you'll get straightened out. Keep me posted.

  8. Alistair says:

    Thanks! Option 3 worked like a charm.

  9. Abe says:

    Awesome! Racked my brain on this one for a while, thanks for the solutions.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>