window无法启动asp.net state service 服务(位于 本地计算机 上) 错误:0x8007277a
解决方法:命令行(CMD)中输入netsh winsock reset
IIS上部署MVC网站,打开后500错误:处理程序“ExtensionlessUrlHandler-Integrated-4.0”在其模块列表中有一个错误模块“ManagedPipelineHandler”
解决方法:
以管理员运行下面的命令注册:
32位机器:C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i
64位机器:C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i
3、HTTP 错误 500.21 - Internal Server Error
处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”
原因:vs2010默认采用的是.NET 4.0框架,4.0框架是独立的CLR,和.NET 2.0的不同,如果想运行.NET 4.0框架的网站,需要用aspnet_regiis注册.NET 4.0框架,然后用.NET 4.0框架的class池,就可以 运行.NET 4.0框架的web项目了。造成上述错误的原因极有可能是:由于先安装.NetFramework v4.0后安装iis 7.5所致。
解决方法:
以管理员运行下面的命令注册:
32位机器:C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i
64位机器:C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i
4、在应用程序级别以外使用注册为 allowDefinition='MachineToApplication' 的节是错误的解决办法
在ASP.NET程序中,我们是可以在各个目录放置不同的web.config文件的,但有时在非根目录先放置的web.config文件会导致这样的错误提示:
"在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的。如果在 IIS 中没有将虚拟目录配置为应用程序,则可能导致此错误。"
"It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS. "
网上有不少相关的帖子,主要的解决方法如下:
解决方法1(不推荐):
在IIS将该目录做成应用程序:打开IIS —> 默认Web站点 —> 找到该目录右键打开属性页 —> 目录(或虚拟目录)卡 —> 在下半部分“应用程序设置”处点第一项的“创建”,把该目录做成应用程序。
解决方法2(不推荐):
若IIS中没有应用程序名,先创建,若还不行把C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config中的所有allowDefinition="MachineToApplication"改为allowDefinition="Everywhere"
解决方法3:
在Web.config文件中删除<authentication mode="Windows" />结点就可以了。
要注意的一点是,我们首先要理解这个错误,再视图去消除这个错,其实大部分时候是不应该用第一种和第二种解决方法去消除出错提示的,这个出错提示的出现是因为web.config中的某些节点在一个IIS应用程序中是只能设置一次的,比如<authentication>节,所以大部分时候这个错误是由于多个子目录下存在多个web.config导致的,比较谨慎的解决方法应该是仔细查看出问题目录下的web.config,剔除掉不能重复设置的节点。
附:对于DNN用户,任何子目录下被误插入了web.config文件都会导致这个错误,删除误插入了web.config文件即可解决问题。