IIS出错的解决方案
1.
“/”应用程序中的服务器错误。
未能从程序集“System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”中加载类型“System.ServiceModel.Activation.HttpModule”。
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.TypeLoadException: 未能从程序集“System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”中加载类型“System.ServiceModel.Activation.HttpModule”。
源错误:
执行当前 Web 请求期间生成了未经处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。
堆栈跟踪:
[TypeLoadException: 未能从程序集“System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”中加载类型“System.ServiceModel.Activation.HttpModule”。]
System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMarkHandle stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName, ObjectHandleOnStack type) +0
System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName) +95
System.Type.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase) +64
System.Web.Compilation.BuildManager.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase) +59
System.Web.Configuration.ConfigUtil.GetType(String typeName, String propertyName, ConfigurationElement configElement, XmlNode node, Boolean checkAptcaBit, Boolean ignoreCase) +49
[ConfigurationErrorsException: 未能从程序集“System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”中加载类型“System.ServiceModel.Activation.HttpModule”。]
System.Web.Configuration.ConfigUtil.GetType(String typeName, String propertyName, ConfigurationElement configElement, XmlNode node, Boolean checkAptcaBit, Boolean ignoreCase) +523
System.Web.Configuration.ConfigUtil.GetType(String typeName, String propertyName, ConfigurationElement configElement, Boolean checkAptcaBit) +29
System.Web.Configuration.Common.ModulesEntry.SecureGetType(String typeName, String propertyName, ConfigurationElement configElement) +60
System.Web.Configuration.Common.ModulesEntry..ctor(String name, String typeName, String propertyName, ConfigurationElement configElement) +68
System.Web.HttpApplication.BuildIntegratedModuleCollection(List`1 moduleList) +183
System.Web.HttpApplication.GetModuleCollection(IntPtr appContext) +1162
System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +139
System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +172
System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +418
System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +369
[HttpException (0x80004005): 未能从程序集“System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”中加载类型“System.ServiceModel.Activation.HttpModule”。]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +534
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +111
System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +718
版本信息: Microsoft .NET Framework 版本:4.0.30319; ASP.NET 版本:4.7.2633.0
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.TypeLoadException: 未能从程序集“System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”中加载类型“System.ServiceModel.Activation.HttpModule”。
错误原因:根据MSDN的解释:如果安装了 .NET Framework 4,随后启用了 .NET Framework 3.5WCF HTTP **,则会发生此错误。
解决办法:
若要解决该问题,请在 Visual Studio 2010 命令提示符下运行下面的命令行:
aspnet_regiis.exe -i -enable
或在cmd中运行:C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i -enable
2.
执行此命令后命令提示符提示错误:
Microsoft (R) ASP.NET RegIIS 版本 4.0.30319.0
用于在本地计算机上安装和卸载 ASP.NET 的管理实用工具。
版权所有(C) Microsoft Corporation。保留所有权利。
开始安装 ASP.NET (4.0.30319.0)。
此操作系统版本不支持此选项。管理员应使用“打开或关闭 Windows 功能”对话框、“服务器管理器”管理工具或 dism.exe 命令行工 具安装/卸载包含 IIS8 的 ASP.NET 4.5。有关更多详细信息,请参见 http://go.microsoft.com/fwlink/?LinkID=216771。
ASP.NET (4.0.30319.0)安装完毕。
原因分析:我的操作系统是64位的,网站的应用程序池选择的是“DefaultAppPool”。它的.NET CLR 版本是v4.0,托管管道模式是集成。据了解,64位操作系统托管管道模式要选择经典模式。
解决办法:在IIS中设置网站应用程序池为“.NET v4.5 Classic”。它的.NET CLR版本是v4.0,托管管道模式是经典。然后在此应用程序池的高级设置中设置“启用 32 位应用程序”的值为“True”,保存即可。(按此思路,设置“DefaultAppPool”的托管管道模式为经典也行,但是我的原则是尽量少地改动。。)
3.
HTTP 错误 500.24 - Internal Server Error
检测到在集成的托管管道模式下不适用的 ASP.NET 设置。
最可能的原因:
system.web/aaa@qq.com 设置为 true。
可尝试的操作:
如果应用程序支持它,则禁用客户端模拟。
如果您确信可以忽略此错误,则可以通过将 system.webServer/aaa@qq.com 设置为 false 来禁用它。
使用经典 .NET 模式将此应用程序移到应用程序池 - 例如,%SystemRoot%\system32\inetsrv\appcmd set app "Default Web Site/" /applicationPool:"Classic .NET AppPool"
(可以将“Classic .NET AppPool”设置为在经典托管管道模式下运行的其他应用程序池的名称)
详细错误信息:
模块 ConfigurationValidationModule
通知 BeginRequest
处理程序 ExtensionlessUrlHandler-Integrated-4.0
错误代码 0x80070032
请求的 URL http://localhost:81/
物理路径 E:\Website\IIS\school160216
登录方法 尚未确定
登录用户 尚未确定
详细信息:
如果您不清楚或无法使用前两个选项,则首选的做法是将此应用程序切换到经典模式。
查看详细信息 »
出现这个问题开启目录即可
其次是给连接IIS的用户添加权限
打开IIS管理器,选择应用池(你建立网站时选择的应用池),单击右侧的“设置应用程序池默认设置”,然后把 启用32位应用程序 改为True ,托管管道模式 改为 Classic
4.HTTP错误404.3(由于扩展配置问题而无法提供您请求的页面)
出现这种原因,一般跟扩展配置没有太大的关系,而是电脑中的.NET FrameWork安装不完整
在控制面板中,打开或关闭Windows功能,Internet信息服务,万维网服务,应用程序开发功能,勾选 ASP.NET 3.5 ,ASP.NET 4.5,服务器端包含等功能选项,然后这个问题大概就阔以解决了。
5.未安装.netframework4.0:
win10操作系统是自带.net4.6的,并且.net是向下兼容的,所以说如果win10安装了.net4.6那就应该可以支持发布的web的。Windows+X+P打开控制面板找到启用或关闭Windows功能,查看发现已经安装了.net4.6.如下:
开始安装Framework4.0,结果显示此系统不支持此版本(心中一紧,不会吧,刚装完系统又要装系统啊!),经过请教大神和百度,最终发现解决方案:发现需要安装的asp.net在如下图中红框中的位置。
TIPS:上述问方案如果还是无法解决你的问题 重装系统可能更快些
还有就是我在早上的时候安装IIS老是显示脚本不解析,或者MIME映射出错,这点可能和我先装.net后装IIS有关,希望大家能记住这个教训,我今天就是因为这个折腾了一早上还有一晚上
我感觉一篇博客安装IIS写的很棒,下面是win10安装IIS全教程
win10下的iis的配置和win7下的是类似的。
1.右键开始,打开控制面板,进入卸载程序中,勾上如下图所示的项目,即可装上iis。
2.重启后搜索iis,进入iis配置中。点击网站,右键新建网站,填入网站名称。
这里是个关键,应用池要改为自己所写的项目的版本。(如.net v4.5 classic)
物理路径设置为index.aspx的那一层(不能太上层,否则会查看不了)
ip地址可以设为内网地址,外网地址,也可以不设。
此时的测试设置是有问题的,我们点击连接为,然后如下图操作,加入自己电脑用户名和密码即可,之后再查看测试设置,正确。
3.将身份验证设置为启用状态。
4.将应用程序池中对应的服务启动,如下图:
有的资料说需要将刚才上图的.net v4.5 classic的高级设置修改一下。将applicationpoolidentity修改为localSystem或NetworkService。但是我看了一下,不修改也是可以的。
5.添加一下默认文档
6.打开浏览器,输入localhost:42即可访问。或者在iis页面右边的div那里点击打开也可。如果是80号端口的话,直接输入localhost即可。
参考:MSDN