Monday, November 26, 2012

iis server promot error 404.3 500.21

问题描述:

最近今天我又出现错误了.无故出现下面这个错误:

应用程序“DEFAULT WEBSITE/TTSSERVICE”中的服务器错误
Internet Information Services 7.5
错误摘要
HTTP 错误 404.3 - Not Found
由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。
详细错误信息
模块 StaticFileModule
通知 ExecuteRequestHandler
处理程序 StaticFile
错误代码 0x80070032
请求的 URL http://localhost:80/ttsservice/ajax/tts.ashx?task=tofile2&id=17150&format=mp3
物理路径 D:\doc\webserver\wwwroot\csharp\ttsservice\ajax\tts.ashx
登录方法 匿名
登录用户 匿名
最可能的原因:
可能是缺少处理程序映射。默认情况下,静态文件处理程序将处理所有内容。
您要使用的功能可能尚未安装。
没有为网站或应用程序启用相应的 MIME 映射。(警告: 请不要为用户不应下载的 .ASPX 页或 .config 文件等内容创建 MIME 映射。)
如果未安装 ASP.NET。
可尝试的操作:
在 system.webServer/handlers 中:
确保映射了当前页所需的处理程序。
请特别注意前提(例如,runtimeVersion、pipelineMode、bitness)并将这些前提与应用程序池的设置进行比较。
请特别注意所需处理程序行中的书写错误。
请确认要使用的功能已经安装。
确认启用了 MIME 映射,或使用命令行工具 appcmd.exe 为网站添加 MIME 映射。
要设置 MIME 类型,请使用以下语法: %SystemRoot%\windows\system32\inetsrv\appcmd set config /section:staticContent /+[fileExtension='string',mimeType='string']
变量 fileExtension 字符串是文件扩展名,变量 mimeType 字符串是文件类型说明。
例如,要为扩展名为“.xyz”的文件添加 MIME 映射: appcmd set config /section:staticContent /+[fileExtension='.xyz',mimeType='text/plain']
警告: 请在确认您的 Web 服务器需要此 MIME 映射之后再将其添加到列表中。配置文件(如 .CONFIG)或动态脚本页(如 .ASP 或 .ASPX)不应直接下载,应始终通过处理程序来处理。有时会使用其他文件(如数据库文件或 .XML 或 .MDF 等用于存储配置的文件)来存储配置信息。请先确认客户端能否下载这些类型的文件,然后再启用这些文件。
安装 ASP.NET。
创建跟踪规则以跟踪此 HTTP 状态代码的失败的请求。有关为失败的请求创建跟踪规则的详细信息,请单击此处。
链接和更多信息
当所请求 URL 的文件扩展名是针对未在服务器上配置的 MIME 类型时,便会发生此错误。您可以为动态脚本页、数据库或配置文件以外的文件的文件扩展名添加 MIME 类型。这些文件类型使用一个处理程序来处理。您不应允许直接下载动态脚本页、数据库或配置文件。
查看更多信息 »




前几天修改了些东西,然后忘了哪一次修改造成的,因为一直未使用,所以没有处理.今天要使用这个功能,只能解决它了. 这是在我测试机上出现的,如果正式发布机也有这个问题,那不是捣大了.


尝试解决:


试了Default.aspx文件,也是一样.


找了一个资料


image


我用Microsoft Web Platform Installer工具,尝试安装一下上图选中项IIS:ASP.NET.


然后出现这个问题:

应用程序“DEFAULT WEBSITE/TTSSERVICE”中的服务器错误
Internet Information Services 7.5
错误摘要
HTTP 错误 500.21 - Internal Server Error
处理程序“SimpleHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”
详细错误信息
模块 IIS Web Core
通知 ExecuteRequestHandler
处理程序 SimpleHandlerFactory-Integrated
错误代码 0x8007000d
请求的 URL http://localhost:80/ttsservice/ajax/tts.ashx
物理路径 D:\doc\webserver\wwwroot\csharp\ttsservice\ajax\tts.ashx
登录方法 匿名
登录用户 匿名
最可能的原因:
使用了托管的处理程序,但是未安装或未完整安装 ASP.NET。
处理程序模块列表的配置中存在录入错误。
可尝试的操作:
如果要使用托管的处理程序,请安装 ASP.NET。
请确保正确指定处理程序模块的名称。模块名称区分大小写,并使用 modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" 格式。
链接和更多信息
IIS 内核不能识别此模块。
查看更多信息 »



不关机,重启IIS服务器.还是一样.


再用microsoft web installer安装下图选中项: 执行iis asp.net注册工具.


image


试了两次,它提示安装失败.


image


再次尝试安装:


image


失败


image


没用.


最后.输入一个命令:

C:\Windows\system32>"%WINDIR%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe" -iru -enable
开始安装 ASP.NET (4.0.30319)。
...........
ASP.NET (4.0.30319)安装完毕。
解决.


No comments: