无法在Windows 8上的IIS中提供WCF服务

fae*_*ter 195 iis wcf windows-8

当我尝试在Windows 8机器上的IIS上提供WCF服务时,我得到了众所周知的错误

由于扩展配置,无法提供您请求的页面.如果页面是脚本,请添加处理程序.如果要下载文件,请添加MIME映射.

旧的工作是运行,aspnet_regiis -i但这个命令似乎已在Windows 8中被弃用,产生响应This option is not supported on this version of the operating system. (...).

会有什么工作?

(我已经成功启用了常规aspx页面,因此大多数IIS配置看起来都很健康.)

fae*_*ter 396

似乎没有脑子; 应Programs and Features -> Turn Windows features on or off在控制面板中启用WCF服务.去.NET Framework Advanced Services -> WCF Services,使HTTP Activation中所描述的MDSN这个博客帖子.

从命令提示符(作为管理员),您可以运行:

C:\> DISM /Online /Enable-Feature /FeatureName:WCF-HTTP-Activation
C:\> DISM /Online /Enable-Feature /FeatureName:WCF-HTTP-Activation45
Run Code Online (Sandbox Code Playgroud)

如果您收到错误,请使用以下内容

C:\> DISM /Online /Enable-Feature /all /FeatureName:WCF-HTTP-Activation
C:\> DISM /Online /Enable-Feature /all /FeatureName:WCF-HTTP-Activation45
Run Code Online (Sandbox Code Playgroud)

  • 我花时间在IIS管理器中查找.我认为IIS管理器应该有一个图标,指导或告诉用户有关.NET Framework Advnaced Services的信息. (6认同)
  • 我得到了相同的"一个必需的父功能可能没有启用"错误作为Ben Anderson,并在错误消息中尝试了建议(添加`/ all`参数),然后工作正常:`DISM/Online/Enable-Feature/all/FeatureName:WCF-HTTP-Activation45`. (5认同)
  • 先生,你真了不起。您还可以添加(这是一个很小的细节)这可以根据 .Net Framework 版本来完成。如`.NET 3.5 Framework Advanced Services -> Windows Communication Foundation HTTP Activation` (2认同)

小智 93

对于Windows Server 2012,该解决方案与faester的解决方案非常相似(见上文).在服务器管理器中,单击Add roles and features,选择相应的服务器,然后选择Features.在.NET Framework 4.5 Features,你会看到WCF Services,在那之下,你会发现HTTP Activation.

  • 在任何现有的Web应用程序中,添加Windows功能后,您还必须执行以下操作:-启动inetmgr-打开“处理程序映射”-检查扩展名* .svc的svc-ISAPI映射是否存在。如果不是,请使用“还原为父对象”操作从父网站复制它们。请注意,这假定在应用程序的web.config中配置了自定义处理程序映射,这在IIS7 +中通常是这样。否则,执行“还原为父对象”时将丢失这些内容。 (2认同)

小智 11

请在IIS 8.0上执行以下两个步骤

添加新的MIME类型和HttpHandler

  1. 扩展名:.svc,MIME类型:application/octet-stream

  2. 请求路径:*.svc,类型:System.ServiceModel.Activation.HttpHandler,名称:svc-Integrated


Moh*_*ari 9

您也可以通过打开Windows功能来实现。 在此处输入图片说明 在此处输入图片说明