我在 运行 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 错误
在我看来,托管环境可能有问题,请尝试在 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绑定。
参考。
如果有什么我可以帮忙的,请随时告诉我。
我有一个在 Win8 上使用 VS2013 创建的 WCF 服务。如果我通过 VS (localhost:port) 启动服务,我可以在 json
中进行 GET 响应但是我托管在服务器 (IIS7) 上的相同服务然后我收到 404 错误
在我看来,托管环境可能有问题,请尝试在 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绑定。
参考。
如果有什么我可以帮忙的,请随时告诉我。