Пытаясь следовать этому примеру, чтобы сделать его работу: http://weblogs.asp.net/kiyoshi/archive/2008/10/08/wcf-using-webhttpbinding-for-rest-services.aspxWebHttpBinding в WCF: как правильно настроить его?
Вот мой App.config
:
<system.serviceModel>
<services>
<!-- The service for the TEST WEB client -->
<service name="MyServer.AAServiceType" behaviorConfiguration="Default">
<endpoint address="testservice"
binding="webHttpBinding" behaviorConfiguration="webBehavior"
contract="MyServer.AAIContractName" />
<host>
<baseAddresses>
<add baseAddress="http://localhost:8787/" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<!-- TEST WEB BEHAVIOR -->
<behavior name="Default">
<serviceMetadata httpGetEnabled="true"/>
</behavior>
</serviceBehaviors>
<!-- TEST WEB ENDPOINT -->
<endpointBehaviors>
<behavior name="webBehavior">
<webHttp />
</behavior>
</endpointBehaviors>
</behaviors>
</system.serviceModel>
Update: контракт службы:
namespace MyServer
{
[ServiceContract(SessionMode=SessionMode.NotAllowed)]
public interface IContractName
{
[WebGet(UriTemplate = "date/{year}/{month}/{day}", ResponseFormat = WebMessageFormat.Xml)]
[OperationContract]
string GetDate(string day, string month, string year);
}
public class ServiceType : IContractName
{
public string GetDate(string day, string month, string year)
{
return new DateTime(Convert.ToInt32(year), Convert.ToInt32(month), Convert.ToInt32(day)).ToString("dddd, MMMM dd, yyyy");
}
}
}
Проблема заключается в том, что, когда Я пытаюсь подключиться к порту 8787 (например, с помощью putty
) a «Connection failed» ошибка возвращается. Как вы можете видеть, я также пытался помещать неправильные имена в класс контрактов и реализацию сервиса и не получал исключений. Что я делаю неправильно, пожалуйста?
Можете ли вы показать нам ваш контракт на обслуживание? Какой шаблон URL вы указываете? –
Конечно. Пожалуйста, просмотрите обновление. Также остановлен локально установленный IIS (через консоль пользовательского интерфейса), чтобы убедиться, что никто не перехватывает HTTP-запросы. – BreakPhreak
Хорошо, проблема найдена - предоставлен мой ответ. – BreakPhreak