Я могу получить доступ к моей службе WCF и получить ее файл WSDL, но не могу получить доступ к «подкаталогу». Полученная ошибка выглядит следующим образом, когда я ввожу URL в адресную строку.WebGet с UriTemplate не создает правильную конечную точку
[14: 42: 45,509] GET http://---.azurewebsites.net/MyService.svc/Ping [HTTP/1.1 400 Bad Request 105ms]
Интерфейс и реализация выглядит следующим образом.
[OperationContract]
[WebGet(UriTemplate="Ping")]
String Ping();
public String Ping() { return "Pong"; }
Модель обслуживания в файле конфигурации состоит из следующего раздела.
Поведения
<behaviors>
<endpointBehaviors>
<behavior name="PingEndPointBehavior">
<webHttp/>
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name ="PingServiceBehavior">
<serviceMetadata httpGetEnabled="true"
httpsGetEnabled="true"/>
</behavior>
<behavior name="">
<serviceMetadata httpGetEnabled="true"
httpsGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
</behaviors>
Наручники
<bindings>
<basicHttpBinding>
<binding name="PingBasicHttpBinding"/>
</basicHttpBinding>
</bindings>
Услуги
<services>
<service name="MyNamespace.MyService"
behaviorConfiguration="PingServiceBehavior">
<endpoint name="PingEndpoint"
behaviorConfiguration="PingEndPointBehavior"
address="Ping"
bindingConfiguration="PingBasicHttpBinding"
contract="MyNamespace.IMyService"/>
</service>
</services>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"
multipleSiteBindingsEnabled="true"/>
Что мне не хватает?
Я думаю, вы не можете ввести URL-адрес и получить ответ от своей службы WCF с помощью BasicHttpBinding. Вы должны использовать webHttpBinding для вышеуказанного, чтобы работать – Rajesh
@Rajesh Put - это ответ, поэтому я могу проверить его на зеленый. –