【问题标题】:WCF Service HostingWCF 服务托管
【发布时间】:2015-07-05 13:37:36
【问题描述】:

我在 IIS 中托管 WCF 服务,但它给出以下错误:-

HTTP 错误 404.17 - 未找到

请求的内容似乎是脚本,不会由静态文件处理程序提供服务。

我在 .Net Framework 4.0 中开发了这项服务,并为 SOAP 应用了basicHttpBinding

我也尝试了aspnet_regiis.exe -i 命令,但我的问题仍然没有得到解决。

Http绑定如下:-

  </service>
</services>
<behaviors>
  <serviceBehaviors>
    <behavior name="ServBehave">
      <serviceMetadata httpGetEnabled="true"/>
      <serviceDebug includeExceptionDetailInFaults="false"/>
    </behavior>
  </serviceBehaviors>

</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true"/>

【问题讨论】:

  • 您需要向我们展示服务器端和客户端配置以及您用于访问服务的代码
  • 我设置了 Http windows 功能,现在它正在工作,但现在问题来自于从服务访问数据。现在我正在尝试使用我的机器 IP 地址访问服务,然后我的服务详细信息为 MyMachineIP/wcfservice/Service1.svc/GetUserData 但它给出了 404 not found 错误。
  • 再次:向我们展示您的配置! 还有:basicHttpBinding 是一个 SOAP 绑定 - 您不能通过浏览到使用浏览器 - 您需要支持 SOAP 的测试工具,例如 WCF 测试客户端或 Soap UI

标签: wcf


【解决方案1】:

您需要确保在服务器上安装并启用了 WCF。

  1. 确保已安装 .NET 3.5.1 Framework。

  2. 确保启用并安装了“Windows Communication Foundation HTTP 激活”。这可以通过控制面板中“打开或关闭 Windows 功能”下的程序功能进行访问。

  3. 从以管理员身份运行的命令提示符执行以下命令(提升权限)。

"%WINDIR%\Microsoft.Net\Framework\v3.0\Windows Communication Foundation\ServiceModelReg.exe" -i

【讨论】: