Я написал какой-то сервис, у которого есть метод, который получает изображение (byte []) в качестве параметра (return void).
Я также написал некоторый клиент (клиент и сервер, работающий на одной машине - разные sulotion - с использованием IIS), который отправляет растровое изображение (как байт []) в службу - и каждый раз, когда я пытаюсь отправить, я получаю исключение:
Произошла ошибка при получении ответа HTTP на http://localhost/WebService/Service.svc. Это может быть связано с тем, что привязка конечной точки службы не использует протокол HTTP. Это также может быть связано с тем, что сервер прерывает контекст HTTP-запроса (возможно, из-за закрытия службы)
Я добавил еще один метод, который получает void и возвращает int - и я могу вызвать этот метод без проблем.
Что может быть не так? Мне нужно определить что-то особенное в справочнике по обслуживанию клиентов?
Способ обслуживания
[ServiceContract]
**public interface IService**
{
[OperationContract]
void GetPic( byte[] pic );
}
**public class Service : IService**
{
public void GetPic( byte[] pic )
{
...
}
}
Файл Web.config:
<system.serviceModel>
<services>
<service behaviorConfiguration="ServiceBehavior" name="ServiceProxy.Service">
<endpoint
name="basicHttp"
address=""
binding="basicHttpBinding"
bindingConfiguration=""
contract="Contracts.IService">
</endpoint>
<endpoint
address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange" >
</endpoint>
<host>
<baseAddresses>
<add baseAddress="http://localhost:8731/ServiceProxy/" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="ServiceBehavior">
<serviceMetadata httpGetEnabled="True"/>
<serviceDebug includeExceptionDetailInFaults="False" />
</behavior>
</serviceBehaviors>
</behaviors>