2012-02-07 63 views
1

請告訴我我在設置我的wcf休息服務時做了一些愚蠢的事情。 我已經創建了一個Web應用程序併爲其添加了一個wcf服務。WCF休息服務:無法調用方法

這裏是我的web.config

<configuration> 
    <system.web> 
     <compilation debug="true" targetFramework="4.0" /> 
    </system.web> 

    <system.serviceModel> 
     <services> 
     <service name="WebApplication1.Service1"> 
      <endpoint address="../Service1" behaviorConfiguration="httpBehavior" 

       binding="webHttpBinding" 
       contract="WebApplication1.IService1"/> 
     </service> 
     </services> 
     <behaviors> 
     <endpointBehaviors> 
      <behavior name="httpBehavior"> 
      <webHttp helpEnabled="true" /> 
      </behavior> 
     </endpointBehaviors> 
     <serviceBehaviors> 
      <behavior name=""> 
       <serviceMetadata httpGetEnabled="true" /> 
       <serviceDebug includeExceptionDetailInFaults="false" /> 
      </behavior> 
     </serviceBehaviors> 
     </behaviors> 
     <serviceHostingEnvironment multipleSiteBindingsEnabled="true" /> 
    </system.serviceModel> 
    <startup> 
     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> 
    </startup> 
</configuration> 

我的服務接口:

[ServiceContract] 
public interface IService1 
{ 
    [OperationContract] 
    [WebGet(UriTemplate = "data/{value}", ResponseFormat = WebMessageFormat.Json)] 
    Person GetData(string value); 
} 

我的服務代碼:

public class Service1 : IService1 
    { 

     public Person GetData(string value) 
     { 
      return new Person() 
      { 
       Id = Convert.ToInt32(value), 
       Name = "John Doe" 
      }; 
     } 
    } 

    public class Person 
    { 
     public int Id { get; set; } 
     public string Name { get; set; } 
    } 

我沒有問題瀏覽到服務 http://localhost/RoleProviderSite/Service1.svc 但我一旦添加數據/ 10 http://localhost/RoleProviderSite/Service1.svc/data/10 「沒有通道主動偵聽在的「http://mymachinename/RoleProviderSite/Service1.svc/data/10"

我會想到,加入了 「[WebGet(UriTemplate =」 數據/ {值}「,ResponseFormat = WebMessageFormat.Json)]」將意味着這個URL是可訪問的,但也許我錯過了什麼?

我使用的是: Internet信息服務,版本:5.1 和XP操作系統

非常感謝您的幫助。

回答

1

刪除端點中的地址,並且您的URI應該按預期工作。你不能像你的端點那樣使用相對地址

+0

我的英雄!我以爲我試過了所有的東西,那就是訣竅。 – blomster 2012-02-07 17:05:08