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操作系統
非常感謝您的幫助。
我的英雄!我以爲我試過了所有的東西,那就是訣竅。 – blomster 2012-02-07 17:05:08