2010-11-08 118 views
0

我正在从Web应用程序调用WCF服务。它适用于本地web服务。当服务部署到开发服务器时,它给了我上面的错误。 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

当前我只保留一条记录,该条记录用于统计条件并从web服务返回。 – devel 2010-11-08 06:32:57

+0

本地web应用程序,web服务远程给出了上述错误。本地Web应用程序和本地web服务可以返回10个对象。我需要在哪里设置maxRecivedMessageSize属性? – devel 2010-11-08 06:35:23

+0

@devel - 'maxReceivedMessageSize'在客户端配置文件的部分中的客户端''的服务配置中设置 – InSane 2010-11-08 06:52:07

相关问题