Я занимаюсь разработкой службы RESTful WCF, которую затем хочу использовать из отдельного проекта ASP.net.
Можно ли использовать ссылку на службу из проекта ASP для ее использования?с использованием REST или все ссылки на службы обрабатываются как SOAP?
Существует множество примеров использования библиотеки служб в качестве ссылки на службу или использования службы REST с использованием начального инструментария WCF с использованием HttpClient, но яне найден тот, который делает то, что я надеялся сделать.
Ниже приведен фрагмент файла ASP.Net web.config, который автоматически генерируется при добавлении ссылки на службу.Как видите, в нем упоминается SOAP.
<system.serviceModel>
<bindings>
<customBinding>
<binding name="WebHttpBinding_IDataCaptureService">
<textMessageEncoding maxReadPoolSize="64" maxWritePoolSize="16"
messageVersion="Soap12" writeEncoding="utf-8">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
</textMessageEncoding>
</binding>
</customBinding>
</bindings>
<client>
<endpoint binding="customBinding" bindingConfiguration="WebHttpBinding_IDataCaptureService"
contract="testRef.IDataCaptureService" name="WebHttpBinding_IDataCaptureService" />
</client>
</system.serviceModel>
Вот выдержка из сервиса web.config
<system.serviceModel>
<services>
<service behaviorConfiguration="DataCaptureService.Service1Behavior" name="eCRB.Service.DataCapture">
<endpoint address="" behaviorConfiguration="webBehaviour" binding="webHttpBinding" bindingConfiguration="" contract="eCRB.Service.IDataCaptureService">
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
</services>
<behaviors>
<endpointBehaviors>
<behavior name="webBehaviour">
<webHttp/>
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="DataCaptureService.Service1Behavior">
<!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
<serviceMetadata httpGetEnabled="true"/>
<!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information -->
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<webHttpBinding>
<binding name="webBinding">
<security mode="None">
<transport clientCredentialType="None"/>
</security>
</binding>
</webHttpBinding>
</bindings>
</system.serviceModel>