Пожалуйста, скажите мне, что я делаю что-то глупое при настройке моей службы wcf rest.Я создал веб-приложение и добавил к нему службу 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 =" data / {value} ", ResponseFormat = WebMessageFormat.Json)]" будет означать, что этот URL будет доступен, но, возможно, яЯ что-то упустил?
Я использую: Internet Information Services, версия: 5.1 и ОС XP
Большое спасибо за любую помощь.