【解决方法】IIS 承载的服务失败
IIS 承载的服务失败
如果 IIS 承载的某个服务失败,则可能会看到以下症状之一:
- 当浏览到 .svc 文件时,不能识别该文件,浏览器显示空白页,或显示文件的文本而不是服务的帮助页,如下面的示例所示。
<%@ServiceHost language=c# Debug="true" Service="Microsoft.ServiceModel.Samples.CalculatorService" %>
- 当试图访问 Web 承载的服务时,可能会遇到以下异常。
Unhandled Exception: System.ServiceModel.ProtocolException: The remote server returned an unexpected response: (405) Method not allowed.
若要纠正此问题,必须确保已启用 aspnet_isapi 作为 IIS 的 Web 服务扩展。可以使用 IIS 管理器,或通过从 .NET Framework 安装目录运行 aspnet_regiis –i –enable 来查看和修改此设置。完成此操作后,验证 ASP.NET 是否正在运行。为此,请将测试 .aspx 文件放在 \inetpub\wwwroot 目录中并确保可以用浏览器浏览该文件。
- 如果在安装 Windows Communication Foundation (WCF) 之后安装了 IIS,必须运行以下命令。
"%WINDIR%\Microsoft.Net\Framework\v3.0\Windows Communication Foundation\ServiceModelReg.exe" -r
还必须确保将 .svc 文件类型映射到 aspnet_isapi.dll。
-
在“控制面板”中打开“计算机管理”。
-
展开“服务和应用程序”、“Internet 信息服务”。
-
右键单击“网站”并选择“属性”。
-
在“主目录”选项卡上单击“配置”。
-
在应用程序映射列表中验证 .svc 文件是否已映射到 aspnet_isapi.dll。如果尚未映射该文件:
- 单击“添加”。
- 在“添加/编辑应用程序扩展名映射”对话框中,单击“浏览”。
- 浏览到包含 aspnet_isapi.dll 的文件夹,然后单击“打开”。
- 指定 .svc 作为扩展名。
- 确保“检查文件是否存在”未选中。
- 单击“确定”,然后再次单击“确定”以返回到“网站属性”对话框。
- 单击“添加”。
-
单击“确定”关闭对话框。
-
打开命令提示符窗口并键入 start inetmgr,以打开 Internet 信息服务 (IIS) MMC 管理单元。
-
在左侧窗格中,展开包含计算机名称的节点,然后展开“网站”节点,然后选择“默认网站”。
-
在“功能视图”中双击“处理程序映射”。
-
在应用程序映射列表中验证 .svc 文件是否已映射到 aspnet_isapi.dll。如果尚未映射该文件:
- 单击“添加管理处理程序”。
- 在“请求路径:”中键入 *.svc。
- 在“类型”文本框中键入 System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089。
- 在“名称:”文本框中键入 svc-Integrated。
- 单击“确定”。
- 单击“添加脚本映射”。
- 在“请求路径:”中键入 *.svc。
- 在“可执行文件:”文本框中键入 %SystemRoot%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll。
- 在“名称:”文本框中键入 svc-ISAPI-2.0。
- 使用“上移/下移”控件,确保托管处理程序 (svc-Integrated) 在列表中出现在 aspnet_isapi (svc-ISAPI-2.0) 处理程序之前。
- 单击“确定”。
- 单击“添加管理处理程序”。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2005-09-08 关于代码生成工具