我创建了一个c #Web服务,另一方面我有一个使用该Web服务的C#winform,问题是:Web服务返回一个包含5000行以上的DATASET并得到一个错误
错误:已超出传入邮件的最大邮件大小限额(65536)。要增加配额,请在相应的绑定元素上使用MaxReceivedMessageSize属性。
以下是webservice的代码:
y <- ifelse(x < 0, 0, y)
和客户代码:
[WebMethod]
public DataSet cuentaAtrasadas()
{
SqlConnection myConnection = new SqlConnection("Data Source=192.168.87.15;" + "Initial Catalog=Indar;" + "User id=sa;" + "Password=;");
DataSet ds = new DataSet();
string query = "Select Zona = Rama, CxcInfo.Cliente, Cte.Nombre, Movimiento = CxcInfo.Mov,cxcinfo.estatus, NumDoc = CxcInfo.MovID, CxcInfo.Referencia, Oc.MovId, Comentarios = SubString(Cxc.Comentarios,1,50), " +
"FechaEmision = Convert(Char(10), CxcInfo.FechaEmision, 103), Vencimiento = Convert(Char(10), CxcInfo.Vencimiento, 103), Dias = CxcInfo.DiasMoratorios, Importe = (Cxc.Importe + Cxc.Impuestos), Saldo = CxcInfo.Saldo, " +
" FormaPago = Cte.Descripcion7, cxc.comentariosCyc, cxc.comentariosGte, cxc.fechacomp,cxc.responsablecxc FROM CxcInfo Left Outer Join Cte On CxcInfo.Cliente=Cte.Cliente Left Outer Join (Select Mov, MovId, EstatusOC, Docto, EstadoDocto " +
" From ( Select E.Mov, E.MovId, EstatusOC = E.Estatus, E.FechaRegistro, Docto = Em.Mov+' '+Em.MovId, EstadoDocto = Ed.Estado, Rank() Over (Partition By Em.MovId Order By E.FechaRegistro Desc) As 'UltEmbF' " +
" From Embarque E Left Outer Join EmbarqueD Ed ON E.ID = Ed.ID Left Outer Join EmbarqueMov Em ON Ed.EmbarqueMov = Em.Id Where E.Empresa = 'FIN' And Em.Modulo = 'CXC' And Em.Mov = 'Factura Indar' " +
" And E.Mov = 'Orden Cobro' ) Ue Where UltEmbF = 1 ) Oc On Oc.Docto = CxcInfo.Mov+' '+CxcInfo.MovId , Cxc WHERE Cxc.Cliente = Cte.cliente And Cxc.Id = CxcInfo.Id And CXCInfo.Empresa = 'FIN' " +
" And (CxcInfo.Cliente Not In ('C000006') And CxcInfo.Cliente Not Like '[D,E,S,FSF,FIN]%') And (CxcInfo.Saldo <> 0 And Cxc.Saldo <> 0) and rama='Z130' Order By CxcInfo.Mov";
SqlDataAdapter da = new SqlDataAdapter(query, myConnection);
da.SelectCommand.CommandTimeout = 0;
da.Fill(ds, "CTE");
return ds;
}
我在这一行中收到错误: DataSet ds = soap.cuentaAtrasadas(); 但是我在哪里增加MaxReceivedMessageSize属性?
答案 0 :(得分:1)
我建议您在binding section
上的服务配置文件中设置值:
<bindings>
<basicHttpBinding>
<binding name="Binding1"
maxReceivedMessageSize = "Your value">
<security mode="None" />
</binding>
</basicHttpBinding>
</bindings>
此示例基于basicHttpBinding
,您可以使用其他绑定