我在 运行 WCF 服务上收到错误 404。 Web 服务在实时服务器上不起作用

I am getting error 404 on run WCF services. web-services don't work on live Server

我有一个在 Win8 上使用 VS2013 创建的 WCF 服务。如果我通过 VS (localhost:port) 启动服务,我可以在 json

中进行 GET 响应

但是我托管在服务器 (IIS7) 上的相同服务然后我收到 404 错误

本地主机 URL : http://localhost:43596/abc.svc/LoginUser/abc/abc

直播URL:http://mywwebsite.com:80/abc.svc/LoginUser/abc/abc

在我看来,托管环境可能有问题,请尝试在 IIS 中启用 WCF 功能支持。


这是我的服务,希望对你有用
IService1.cs

[ServiceContract]
public interface IService1
{

    [OperationContract]
    [WebGet]
    string GetData(int value);

Service1.svc.

public class Service1 : IService1
{
    public string GetData(int value)
    {
        return string.Format("You entered: {0}", value);
    }

Web.config

  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="false" />
        </behavior>
      </serviceBehaviors>
      <endpointBehaviors>
        <behavior>
          <webHttp />
        </behavior>
      </endpointBehaviors>
    </behaviors>
    <bindings>
      <webHttpBinding>
        <binding name="mybinding">
          <security mode="Transport">
            <transport clientCredentialType="None"></transport>
          </security>
        </binding>
      </webHttpBinding>
    </bindings>
    <protocolMapping>
      <add binding="webHttpBinding" scheme="http"/>
      <add binding="webHttpBinding" scheme="https" bindingConfiguration="mybinding"/>
    </protocolMapping>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
  </system.serviceModel>

由于以上配置同时支持http和https协议,我们需要在IIS站点绑定模块中添加http和https绑定。


参考。

如果有什么我可以帮忙的,请随时告诉我。