2012-04-08 139 views
0

我想通过JSON首次制作一个简单的WCF RESTful。我在下面有我的界面,但是我将调用哪个URL来调用MemberLogon()方法?WCF RESTful服务配置获取404

我认为这将是这样的:

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

但我得到一个404。我有一种感觉是,在我的web.config我的服务configuraiton做。帮帮我!

我的接口和类是:

[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> 

回答

1

代码与界面好看。你可以尝试这种配置吗?

<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> 
+0

我刚刚得到它正确地使用这个网址与你的配置调用:HTTP://本地主机:49701/Exchange.svc/membershipNumber = 6519548&等等= ABC,但我怎么能指定的方法调用(如调用MemberLogon )? – AshesToAshes 2012-04-08 17:32:22

+0

从头开始评论 - 你是明星:)我只需要修改UriTemplate。非常感谢。 – AshesToAshes 2012-04-08 17:36:26