繁体   English   中英

WCF RESTful服务配置获取404

[英]WCF RESTful Service Configuration Getting 404

我正在尝试制作一个简单的 WCF RESTful,这是第一次通过 JSON 使用。我的界面如下,但是我调用 MemberLogon() 方法的 URL 是什么?

我以为会是这样的:

http://localhost:49701/Exchange.svc/?membershipNumber=6519548&blah=abc

但是我得到了 404。我觉得这与我的 Web.Config 中的服务配置有关。 帮助!

我的接口和class是:

[ServiceContract]
public interface IExchange
{
    [System.ServiceModel.OperationContract(Name = "MemberLogon")]
    [WebInvoke(UriTemplate = "/?membershipNumber={membershipNumber}&blah={blah}", Method = "GET", ResponseFormat = WebMessageFormat.Json)]
    Member MemberLogon(string membershipNumber, string blah);
}

[System.Runtime.Serialization.DataContract]
public class Member
{
    [System.Runtime.Serialization.DataMember]
    public string Username { get; set; }
}

配置是:

  <system.serviceModel>
<behaviors>
  <serviceBehaviors>
    <behavior name="MyNamespace.MyClass.ExchangeBehavior">
      <serviceMetadata httpGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="false" />
    </behavior>
  </serviceBehaviors>
</behaviors>
<services>
  <service behaviorConfiguration="MyNamespace.MyClass.ExchangeBehavior" name="MyNamespace.MyClass.Exchange">
    <endpoint address="" binding="webHttpBinding" contract="MyNamespace.MyClass.IExchange" />
  </service>
</services>

代码和界面看起来不错。 你能试试这个配置吗?

<system.serviceModel>
            <behaviors>
              <endpointBehaviors>
                <behavior name="MyNamespace.MyClass.ExchangeBehavior">
                  <webHttp/>
                </behavior>
              </endpointBehaviors>
            </behaviors>
            <services>
              <service name="MyNamespace.MyClass.Exchange">
                <endpoint address="" binding="webHttpBinding" behaviorConfiguration="MyNamespace.MyClass.ExchangeBehavior" contract="MyNamespace.MyClass.IExchange" />
              </service>
            </services>
       </system.serviceModel>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM