2012-04-08 123 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