WCF常见问题及解决办法

2014-12-11 8798 阅读 默认分类

一、问题:这可能是由于服务终结点绑定未使用 HTTP 协议造成的。这还可能是由于服务器中止了 HTTP 请求上下文(可能由于服务关闭)所致

分析及解决办法:

1、检查是否没有重新生成代理文件

2、检查返回值是否无法序列化

备注:WCF的方法,不能返回Object、ICollection、IList之类的不明确的数据类型,但是IList这样的类型可以返回,

如果返回IList这样的自定义类型,需要在接口上增加KnownType,如:

[ServiceContract]
[ServiceKnownType(typeof(MyClass))]
public interface IMyService

二、问题: 已超过传入消息(65536)的最大消息大小配额。若要增加配额,请使用相应绑定元素上的 MaxReceivedMessageSize 属性。

解决办法:

在该服务对面的binding节点添加attribute

<bindings>
  <basicHttpBinding>
    <binding name="BasicHttpBinding_IMyService" maxReceivedMessageSize="2147483647"/>
  </basicHttpBinding>
</bindings>