Problem in running .net framework 4.0 website on iis 7.0

119

Hey I got problem in running .NET framework 4.0 website on IIS7.0. the error I got is like:

HTTP Error 404.2 - Not Found "The page you are requesting cannot be served because of the ISAPI and CGI Restriction list settings on the Web server".

Module : IsapiModule , 
Notification : ExecuteRequestHandler, 
Handler : PageHandlerFactory-ISAPI-4.0_32bit , 
Error Code : 0x800704ec
asp.net
iis-7
.net-4.0
cgi
isapi
asked on Stack Overflow Sep 28, 2011 by prashant patel • edited Apr 14, 2013 by Muhammad Omar ElShourbagy

12 Answers

290

Go to IIS manager and click on the server name. Then click on the "ISAPI and CGI Restrictions" icon under the IIS header. Change ASP.NET 4.0 from "Not Allowed" to "Allowed".

answered on Stack Overflow Sep 28, 2011 by (unknown user)
8

If you look in the ISAPI And CGI Restrictions, and everything is already set to Allowed, then make sure that the ASP.NET v4.0.30319 handlers are even in the list. In my case they were not. This can be easy to overlook.


I added one for 32 %windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll and another for 64 bit %windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll. You can name them both the same ASP.NET v4.0.30319.

Check Allow extension path to execute.

answered on Stack Overflow Nov 1, 2012 by toddmo • edited May 10, 2017 by toddmo
6
  1. Go to the IIS Manager.
  2. open the server name like (PC-Name)\.
  3. then double click on the ISAPI and CGI Restriction.
  4. then select ASP.NET v4.0.30319(32-bit) Restriction allowed.
answered on Stack Overflow Jan 2, 2013 by Nirbhay Singh • edited Jan 3, 2013 by Stephane Rolland
6

In my case, the problem was more severe: turns out asp.net was not correctly registered.

This response worked fine.

simply ran the following command at the command prompt

%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i

If I had been on a 32 bit system, it would have looked like the following:

%windir%\Microsoft.NET\Framework\v4.0.21006\aspnet_regiis.exe -i
answered on Stack Overflow Jan 20, 2014 by Davide Orazio Montersino • edited May 23, 2017 by Community
3

Step 1: Open IIS and click the server name Step 2. Double click “ISAPI and CGI Restrictions” Step 3. Right click ASP.NET v4.0.30319 and select “allow”

After Stopping and Starting the World Wide Web Publishing Service

1.Go to Start > All Programs > Administrative Tools > Services. 2.In the services list, right-click World Wide Web Publishing Service, and then click Stop (to stop the service), Start (to start it after it has been stopped), or Restart (to restart the service when it is running).

Pramesh

answered on Stack Overflow Oct 30, 2013 by Pramesh
2

If you are running Delphi, or other native compiled CGI, this solution will work:

  1. As other pointed, go to IIS manager and click on the server name. Then click on the "ISAPI and CGI Restrictions" icon under the IIS header.

  2. If you have everything allowed, it will still not work. You need to click on "Edit Feature Settings" in Actions (on the right side), and check "Allow unspecified CGI modules", or "Allow unspecified ISAPI modules" respectively.

  3. Click OK

answered on Stack Overflow Jun 25, 2013 by iDusko
1

In our case the solution to this problem did not involve the "ISAPI and CGI Restrictions" settings. The error started occuring after operations staff had upgraded the server to .NET 4.5 by accident, then downgraded to .NET 4.0 again. This caused some of the IIS websites to forget their respective correct application pools, and it caused some of the application pools to switch from .NET Framework 4.0 to 2.0. Changing these settings back fixed the problem.

answered on Stack Overflow Mar 10, 2015 by Anders
1

If you look in the ISAPI And CGI Restrictions, and everything is already set to Allowed, and the ASP.NET installed is v4.0.30319, then in the right, at the "Actions" panel click in the "Edit Feature Settings..." and check both boxes. In my case, they were not.

answered on Stack Overflow Feb 10, 2020 by Theles Silveira
0

Try changing the AppPool Manged Pipeline Mode from "Integration" to "Classic".

answered on Stack Overflow Sep 28, 2011 by Nikshep
0

Depending on the type of application, another thing to check is under the Advanced Settings for the Application Pool make sure "Enable 32-Bit Applications" is set to True.

I'd checked everything in this thread when I had this issue but all had already been setup correctly, I found this was the problem for me.

answered on Stack Overflow Jun 5, 2015 by Ben
0

If you don't have ISAPI and CGI Restrictions option listed, here is how to add it. How to add ISAPI and CGI Restrictions

enter image description here

answered on Stack Overflow May 9, 2017 by JIANG
-1

After mapping of Application follow these steps

Open IIS Click on Applications Pools Double click on website Change Manage pipeline mode to "classic" click Ok.

Ow change .Net Framework Version to Lower version

Then click Ok

answered on Stack Overflow Sep 28, 2011 by Gourav khanna

User contributions licensed under CC BY-SA 3.0