HTTP 错误 404.2 - Not Found

由于 Web 服务器上的“ISAPI CGI 限制”列表设置,无法提供您请求的页面

wKioL1NU0ezBZj-3AAF7GK9GdMw927.jpg

1.打开 Internet 信息服务(IIS)管理器

2.在“功能”视图中,双击“ISAPI 和 CGI 限制” 以确认 Web 服务扩展被设置为“允许”。

wKioL1NU0tuC167lAAGLWGXdHtM219.jpg

Tips:

a、如果该扩展不在列表中,请在“操作”窗格中单击“添加”(或者右键添加)。

b、在“添加 ISAPI 和 CGI 限制”对话框中,在“ISAPI”或“CGI 路径”框中键入 .dll 或 .exe 文件的路径,或者单击“浏览”导航到相应文件的位置。

c、在“描述”框中,键入该限制的简要说明。

d 、(可选)选中“允许执行扩展路径”以使限制可以自动运行。

e、如果不选中此选项,则限制状态将为“不允许”,这是默认状态。您可以在以后选中此选项并单击“操作”窗格中的“允许”来允许该限制。 单击“确定”。



默认win7是没有这些勾选的,新添加iis时一并勾选上,才会在iis管理器中出现[ISAPI CGI 限制]选项

wKioL1NU047T45JvAAG5244IRhk699.jpg


======================================================================================================


HTTP 错误 500.19 - Internal Server Error

无法访问请求的页面,因为该页的相关配置数据无效。

详细错误信息模块 IIS Web Core

通知 BeginRequest

处理程序 尚未确定

错误代码 0x80070021

配置错误 不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种情况。锁定是默认设置的(overrideModeDefault="Deny"),或者是通过包含 overrideMode="Deny" 或旧有的 allowOverride="false" 的位置标记明确设置的。

配置源

<add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/></modules>

<handlers>

<remove name="WebServiceHandlerFactory-Integrated"/>

解决方法:

http://www.cnblogs.com/delphinet/archive/2010/03/25/1694960.html

控制面板-->程序和功能-->打开或关闭windows功能-->角色

的这里,如果还未安装“web服务器(IIS)”,则选择“添加”。

如果已经安装了,则选择“web服务器(IIS)”-->添加角色服务。

选择“应用程序开发(已安装)”-->ASP.NET”。

======================================================================================================


未能加载文件或程序集“***”或它的某一个依赖项。试图加载格式不正确

未能加载文件或程序集“***.DLL”或它的某一个依赖项。 不是有效的 Win32 应用程序。 (异常来自 HRESULT:0x800700C1)

未能加载文件或程序集“xxx”或它的某一个依赖项。试图加载格式不正确的程序。

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.BadImageFormatException: 未能加载文件或程序集“xxx”或它的某一个依赖项。试图加载格式不正确的程序。

源错误:

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。

解决方法:

将应用程序生成为Any CPU就可以了

反之,如果系统是64位的Win7,就应该将新项目的生成目标平台改为x86

综上:

64位的Win7 解决方案的生成目标平台设置为x86

32位操作系统 解决方案的生成目标平台设置为AnyCPU

另外一个网友的问题解决方法:

我遇到过这个问题有两次,不过环境不同。

第一次:Windows 2008 Server R2 64位;

第二次:Windows 7 64位;

原因分析:操作系统是64位的,但发布的程序引用了一些32位的ddl,所以出现了兼容性的问题。

解决方案:IIS——应用程序池——高级设置——启用32位应用程序 :true。