If you simply copy your Visual Studio 2010 generic handler (.ashx) projectâ€™s directory into a virtual directory on IIS it will fail with an error similar to the following:
Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately.
There are lots of suggestions on the internet, but the most fundamental fix is hard to find. I know because Iâ€™ve run into this problem before and it took me quite a while to figure it out. This time I only wasted a half-an-hour before a little voice in my head reminded me that generic handlers created in Visual Studio 2010 require that they be run as an application in IIS.
So hereâ€™s how you do set up IIS to run the .ashx file as an application:
- OpenÂ Internet Information Services (IIS) Manager
- Double-click on â€śApplication Poolsâ€ť. If your Default App Pool is not set to v4.0 then double click on it and change the version. If you donâ€™t have v4.0 installed, then youâ€™ll you need to do so. NOTE: if you change this be sure to test your other/older applications to make sure they donâ€™t break. If they do break other apps, then right click below the Application Pool table and create a new, customÂ app pool using .NET v4.0.
- Right click â€śDefault Web Siteâ€ť
- Select â€śAdd Applicationâ€ť
- Fill in all the Alias and Physical Path fields. BE SURE to select the correct application pool referenced in step 2!!
- Hereâ€™ s a great blog post on how find your .NET version thatâ€™s being used: http://www.walkernews.net/2008/05/16/how-to-check-net-framework-version-installed/ .
- You can also look at the bottom of the Parser Error Message and youâ€™ll see the .NET version there, as well.