WCF底层连接已关闭:接收方发生意外错误
问题描述:
我正在从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();
}
}
}
答
如何许多对象要退?
如果这个数字变高,你可能会遇到两个问题:
- 超时:服务器可能需要很长时间才能得到答案准备和WCF将终止呼叫
- 大小:你的规模可能超出您客户端上的
maxReceivedMessageSize
的设置并因此被中止
当前我只保留一条记录,该条记录用于统计条件并从web服务返回。 – devel 2010-11-08 06:32:57
本地web应用程序,web服务远程给出了上述错误。本地Web应用程序和本地web服务可以返回10个对象。我需要在哪里设置maxRecivedMessageSize属性? – devel 2010-11-08 06:35:23
@devel - 'maxReceivedMessageSize'在客户端配置文件的部分中的客户端''的服务配置中设置 –
InSane
2010-11-08 06:52:07