如果 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.
    

    如果未安装 ASP.NET 或者未将 .svc 文件类型映射到 aspnet_isapi.dll,则通常会发生这种情况。
    若要纠正此问题,必须确保已启用 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
    

    这将在 IIS 中注册所需的脚本映射。
    还必须确保将 .svc 文件类型映射到 aspnet_isapi.dll。

验证是否已将 svc 文件类型映射为可由 IIS 5.1 或 6.0 中的 aspnet_isapi.dll 处理

  1. 在“控制面板”中打开“计算机管理”

  2. 展开“服务和应用程序”、“Internet 信息服务”

  3. 右键单击“网站”并选择“属性”

  4. “主目录”选项卡上单击“配置”

  5. 在应用程序映射列表中验证 .svc 文件是否已映射到 aspnet_isapi.dll。如果尚未映射该文件:

    1. 单击“添加”
    2. “添加/编辑应用程序扩展名映射”对话框中,单击“浏览”
    3. 浏览到包含 aspnet_isapi.dll 的文件夹,然后单击“打开”
    4. 指定 .svc 作为扩展名。
    5. 确保“检查文件是否存在”未选中。
    6. 单击“确定”,然后再次单击“确定”以返回到“网站属性”对话框。
  6. 单击“确定”关闭对话框。

验证 svc 文件类型已在 IIS 7.0 中正确映射

  1. 打开命令提示符窗口并键入 start inetmgr,以打开 Internet 信息服务 (IIS) MMC 管理单元。

  2. 在左侧窗格中,展开包含计算机名称的节点,然后展开“网站”节点,然后选择“默认网站”

  3. “功能视图”中双击“处理程序映射”

  4. 在应用程序映射列表中验证 .svc 文件是否已映射到 aspnet_isapi.dll。如果尚未映射该文件:

    1. 单击“添加管理处理程序”
    2. “请求路径:”中键入 *.svc
    3. “类型”文本框中键入 System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    4. “名称:”文本框中键入 svc-Integrated
    5. 单击“确定”
    6. 单击“添加脚本映射”
    7. “请求路径:”中键入 *.svc
    8. “可执行文件:”文本框中键入 %SystemRoot%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll
    9. “名称:”文本框中键入 svc-ISAPI-2.0
    10. 使用“上移/下移”控件,确保托管处理程序 (svc-Integrated) 在列表中出现在 aspnet_isapi (svc-ISAPI-2.0) 处理程序之前。
    11. 单击“确定”

IIS 承载的服务失败的更多相关文章

  1. WCF学习笔记(2)——使用IIS承载WCF服务

    通过前面的笔记我们知道WCF服务是不能独立存在,必须“寄宿”于其他的应用程序中,承载WCF服务的应用程序我们称之为“宿主”.WCF的多种可选宿主,其中比较常见的就是承载于IIS服务中,在这里我们来学习 ...

  2. 使用IIS承载WCF服务

    作者:jiankunking 出处:http://blog.csdn.net/jiankunking 1.WCF能够方便的通过IIS承载,此承载模型与ASP.NET和ASP.NET Web Servi ...

  3. 在 IIS 中承载 WCF 服务

    本主题概述了创建 Internet 信息服务 (IIS) 中承载的 Windows Communication Foundation (WCF) 服务所需的基本步骤. 本主题假设您熟悉 IIS 且了解 ...

  4. Wcf for wp8 使用iis Express 承载Wcf服务部署发布网站(三)

    我们接下来要做的是 本地电脑当作服务器(模拟外网服务器)来承载Wcf服务程序,通过引用本地电脑ip地址访问wcf服务程序接口 http://192.168.1.123/Service1.svc 一.先 ...

  5. IIS发布WCF服务项目之本地

    最近由于项目需求,要做一个上传文件附件的功能,由于是多用户访问,所以这就用到了WCF服务,程序编写完成就需要发布了, 下面记录下发布到IIS的过程: 1,安装IIS 第一步:检查Windows7中II ...

  6. WCF中常见的几种Host,承载WCF服务的方法

    1:写在前面 我们都知道WCF在运行的时候必须自己提供宿主来承载服务.WCF 本身没有附带宿主,而是提供了一个 ServiceHost 的类,该类允许您在自己的应用程序中host WCF 服务.然后调 ...

  7. [老老实实学WCF] 第三篇 在IIS中寄存服务

    老老实实学WCF 第三篇 在IIS中寄宿服务 通过前两篇的学习,我们了解了如何搭建一个最简单的WCF通信模型,包括定义和实现服务协定.配置服务.寄宿服务.通过添加服务引用的方式配置客户端并访问服务.我 ...

  8. (转) [老老实实学WCF] 第三篇 在IIS中寄存服务

    第三篇 在IIS中寄宿服务 通过前两篇的学习,我们了解了如何搭建一个最简单的WCF通信模型,包括定义和实现服务协定.配置服务.寄宿服务.通过添加服务引用的方式配置客户端并访问服务.我们对WCF的编程生 ...

  9. 在IIS中寄存服务

    http://blog.csdn.net/songyefei/article/details/7381595 第三篇 在IIS中寄宿服务 通过前两篇的学习,我们了解了如何搭建一个最简单的WCF通信模型 ...

随机推荐

  1. Java-技术专区-异步编程指南

    通过本文你可以了解到下面这些知识点: Future 模式介绍以及核心思想 核心线程数.最大线程数的区别,队列容量代表什么: ThreadPoolTaskExecutor 饱和策略: SpringBoo ...

  2. 【转】优秀的Vue UI组件库

    原文来源:https://www.leixuesong.com/3342 Vue 是一个轻巧.高性能.可组件化的MVVM库,API简洁明了,上手快.从Vue推出以来,得到众多Web开发者的认可.在公司 ...

  3. elasticsearch painless脚本评分

    painless是一种新支持的脚本语言,语言格式和java十分类似.可以参考以下文档: painless语言介绍 painless api painless 实例 脚本参数 score_mode计算f ...

  4. Linux常用功能脚本

    设置定时任务 crontab -e 1 0 * * * /bin/find /mnt/tomcat/logs/ -mtime +3 -type f -name "*.log" -e ...

  5. 解决 'express' 不是内部或外部命令,也不是可运行的程序

    express-generator >npm install -g express-generator 就可以了

  6. idea spring boot搭建笔记

    如何建立spring boot项目 首先建一个empty Probject,Modules导入新创建的Project new modules选择Spring lnitializr ->next( ...

  7. 斯特林数&斯特林反演

    第一类斯特林数 定义 第一类Stirling数\(s(n,m)\),也可记为\(\begin{bmatrix}n\\m\end{bmatrix}\). 第一类Stirling分为无符号第一类Stirl ...

  8. 利用Python语言Appium启动ios app

    首先配置好电脑环境,主要是appium太难配了,不多说 然后,分两步 第一步:启动appium服务器 有三种方法,1.下载appium-desk-top(桌面客户端),启动 2.终端启动:appium ...

  9. [REPRINT]MySQL Indexing Explained

    https://atech.blog/viaduct/mysql-indexes-primer What are Indexes? Every time your web application ru ...

  10. springColud父工程依赖配置

    <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot ...