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

由于扩展配置,您请求的页面无法提供服务。如果页面是一个脚本,则添加一个处理程序。如果应该下载该文件,则添加MIME映射。

旧的解决方法是运行aspnet_regiis -i,但是这个命令在Windows 8中似乎已经被弃用,结果是这个版本的操作系统不支持这个选项。(…)。

周围的工作是什么?

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


当前回答

您也可以通过打开窗口功能来实现这一点。

其他回答

这似乎是显而易见的;WCF服务应该使用程序和功能来启用->在控制面板中打开或关闭Windows功能。进入。net框架高级服务-> WCF服务,并按照mdsn上的这篇博客文章中的描述启用HTTP激活。

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

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,解决方案与faester的非常相似(见上文)。从服务器管理器中,单击添加角色和功能,选择适当的服务器,然后选择功能。在. net Framework 4.5特性下,你会看到WCF服务,在它下面,你会发现HTTP激活。

您也可以通过打开窗口功能来实现这一点。

您可以将此代码添加到web。在asp MVC中配置

   <system.webServer>
    <staticContent>
      <remove fileExtension=".srt" />
      <mimeMap fileExtension=".srt" mimeType="text/srt" />
      <remove fileExtension=".vtt" />
      <mimeMap fileExtension=".vtt" mimeType="text/vtt" />
    </staticContent>
  </system.webServer>

您可以用您的文件扩展名更改文件扩展名

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

添加新的MIME类型& HttpHandler

扩展:svc,名 MIME类型:应用程序/字节流 请求路径:*.svc, 类型:System.ServiceModel.Activation.HttpHandler, 名称:svc-Integrated