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

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

您正在请求的页面由于扩展configuration而无法投放。 如果页面是脚本,添加一个处理程序。 如果文件应该被下载,添加一个MIME映射。

旧的解决方法是运行aspnet_regiis -i但是这个命令似乎已经在Windows 8中被弃用了This option is not supported on this version of the operating system. (...) This option is not supported on this version of the operating system. (...)

这将是什么工作?

(我已经成功地启用了常规的aspx页面,所以大部分的IISconfiguration看起来都很健康。)

似乎是一个没有脑子的问题。 应使用Programs and Features -> Turn Windows features on or off启用WCF服务Programs and Features -> Turn Windows features on or off在控制面板中Programs and Features -> Turn Windows features on or off 。 转到.NET Framework Advanced Services -> WCF Services并启用HTTP Activation ,如mdsn上的此博客文章中所述 。

从命令提示符(以pipe理员身份),您可以运行:

 C:\> DISM /Online /Enable-Feature /FeatureName:WCF-HTTP-Activation C:\> DISM /Online /Enable-Feature /FeatureName:WCF-HTTP-Activation45 

如果你得到一个错误,然后使用下面的

 C:\> DISM /Online /Enable-Feature /all /FeatureName:WCF-HTTP-Activation C:\> DISM /Online /Enable-Feature /all /FeatureName:WCF-HTTP-Activation45 

对于Windows Server 2012,解决scheme与faester(见上)非常相似。 从服务器pipe理器中,单击Add roles and features ,select适当的服务器,然后selectFeatures 。 在.NET Framework 4.5 Features ,您将看到WCF Services ,在此之下,您将findHTTP Activation

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

添加新的MIMEtypes&HttpHandler

  1. 扩展名:.svc,MIMEtypes:application / octet-stream

  2. 请求path:* .svc,types:System.ServiceModel.Activation.HttpHandler,名称:svc-Integrated

这与fanes的解决scheme和Bill Moon的解决scheme是一样的,但是您可以通过PowerShell来实现这一点:

 Import-Module Servermanager Add-WindowsFeature AS-HTTP-Activation 

当然,也没有什么能阻止你从PowerShell调用DISM

您也可以通过打开窗口function来实现此目的。 在这里输入图像说明 在这里输入图像说明