2010-11-08 5 views
0

Я вызываю службу WCF из веб-приложения. Он отлично подходит для локального веб-сервиса. Когда служба развертывается на dev-сервере, это приводит к ошибке. Webservice возвращает список пользовательских объектов в формате xml.WCF Подключенное соединение было закрыто: произошла непредвиденная ошибка при приеме

[OperationContract()] 
    [WebInvoke(Method = "POST", UriTemplate = "/track/get", ResponseFormat = WebMessageFormat.Xml)] 
    List<tokenCount> GetTracking(System.IO.Stream data); 

Если я возвращаю только строку из webservice, она отлично работает. Другие операции в webservice работают нормально.

 oRequest.ContentLength = aBytes.Length; 
     oRequest.KeepAlive = false; 
     oRequest.ProtocolVersion = HttpVersion.Version10; 
     oRequest.ConnectionGroupName = Guid.NewGuid().ToString(); 
     oRequest.Timeout = 60000; 
     using (Stream oRequestStream = oRequest.GetRequestStream()) 
     { 
      oRequestStream.Write(aBytes, 0, aBytes.Length);    
      using (HttpWebResponse oResponse = (HttpWebResponse)oRequest.GetResponse()) 
      { 
       using (StreamReader oReader = new StreamReader(oResponse.GetResponseStream(), Encoding.UTF8)) 
       { 
        Response.ContentType = "application/xml";      
        //resDoc = CreateMetaFile(oReader.ReadToEnd()); 
        string r = oReader.ReadToEnd(); 
       } 
      } 
     } 

ответ

2

Как многие объекты вы возвращение ??

Если это число становится высоким, вы можете столкнуться с двумя проблемами:

  • тайм-аут: сервер может занять слишком много времени, чтобы получить готовый ответ и WCF прервет вызов
  • размер: ваш мог размер превысить настройки для maxReceivedMessageSize на вашем клиенте и, таким образом, будет прерван
+0

В настоящее время я сохранил только одну запись, которая соответствует состоянию и возвращается из веб-службы. – devel

+0

webapplication локально, удаленный webservice дает выше ошибки. Webappllication локально и webservice локально могут возвращать 10 объектов. где мне нужно установить свойство maxRecivedMessageSize? – devel

+0

@devel - 'maxReceivedMessageSize' установлен в вашей конфигурации сервиса в ваших клиентах' 'в разделе' 'файла конфигурации клиентов – InSane

Смежные вопросы

 Смежные вопросы