C# 消息大小较大时WCF上的FaultedException

C# 消息大小较大时WCF上的FaultedException,c#,asp.net,wcf,faultexception,C#,Asp.net,Wcf,Faultexception,我有一个WCF服务和一个简单的aspx页面,它从一个控制台应用程序获取消息并将其发送到另一个控制台应用程序。当消息(xml格式)长度约为6000000时,它工作正常,但是当消息大小加倍时,它停止抛出以下异常 通信对象System.ServiceModel.Channels.ServiceChannel无法用于通信,因为它处于故障状态 我已经跟踪了它,我的发送者应用程序发送了消息,我的.aspx页面收到了消息,在将消息发送到我的接收者应用程序时引发异常。这是代码 public void SendM

我有一个WCF服务和一个简单的aspx页面,它从一个控制台应用程序获取消息并将其发送到另一个控制台应用程序。当消息(xml格式)长度约为6000000时,它工作正常,但是当消息大小加倍时,它停止抛出以下异常

通信对象System.ServiceModel.Channels.ServiceChannel无法用于通信,因为它处于故障状态

我已经跟踪了它,我的发送者应用程序发送了消息,我的.aspx页面收到了消息,在将消息发送到我的接收者应用程序时引发异常。这是代码

public void SendMessage(string message)
{
    try
    {
         using (Receiver rec = new Receiver())
         {
              rec.SetMessage(message);
         }
    }
    catch (Exception e)
    { 
         Response.Write(e.Message);
         Response.Write(e.StackTrace);
    }
}
我尝试了很多配置设置,但都没有解决这个问题。原因可能是什么


提前谢谢

很简单。当消息大小超过允许的大小(即6000000)时,它会抛出FaultException。由于FaultException是从Exception扩展而来的,所以可以在代码中正确捕获它。我看不出这有什么问题,而是如果你的数据很大,也要增加大小限制

更新: 对于最大接收错误,您需要执行以下操作: 传入消息的最大消息大小配额(65536)…要增加配额,请使用
MaxReceivedMessageSize
属性

或从代码:

WebHttpBinding binding = new WebHttpBinding();
binding.MaxReceivedMessageSize = 2147483647;

同样,在客户端也是如此。

谢谢。我需要发送数据,而不管其大小,所以,我应该在配置文件中增加一个值吗?如果是,哪一个?是的,最大接收尺寸需要增加。染料,它起作用了。谢谢不幸的是,我没有足够的代表投票给你。等我有空我会的。谢谢