惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

F
Fortinet All Blogs
有赞技术团队
有赞技术团队
量子位
N
Netflix TechBlog - Medium
博客园 - 叶小钗
博客园 - 三生石上(FineUI控件)
Google DeepMind News
Google DeepMind News
aimingoo的专栏
aimingoo的专栏
GbyAI
GbyAI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Blog — PlanetScale
Blog — PlanetScale
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
月光博客
月光博客
Martin Fowler
Martin Fowler
Y
Y Combinator Blog
宝玉的分享
宝玉的分享
博客园 - 司徒正美
云风的 BLOG
云风的 BLOG
V
Visual Studio Blog
V
V2EX
IT之家
IT之家
L
LangChain Blog
大猫的无限游戏
大猫的无限游戏
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - 冰戈

【Silverlight】使用ChildWindow实现MessageBox 【Silverlight】利用IsolatedStorageFile实现客户端缓存 Silverlight3_Tools&SDK发布中文版 Windows Server 2008 将与 Visual Studio 2008 以及 SQL Server 2008 共同发布 基于Ajax的模糊查询输入控件(补充) 基于Ajax的编码、拼音缩写、名称模糊查询输入控件 个人站点域名改为www.oylb.net 使用PostSharp进行AOP框架设计:一个简单的原型 又一套BlogEngine主题Andreas 给博客增加了一个主题Nautica02Liquid 对BlogEngine进行了一次简单升级 SQL Server 2005公用表达式实现递归 微软2008系列 (Orcas + Longhorn Server+SQL2008)将于2008年2月27日发布 - 冰戈 使用CSS+SiteMap+UserControl+MasterPage实现简易的Tab 转实用文章:常用开源协议详细解析 SubSonic 命令行参数及使用示例 抢先试用ReSharper UnitRun™ 1.0 又一款免费的VS2005单元测试插件 公司求才,你们是怎样做的?你想怎样做?
【解决方法】IIS 承载的服务失败 - 冰戈 - 博客园
冰戈 · 2009-09-08 · via 博客园 - 冰戈

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.
    如果未安装 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. 单击“确定”