我在考虑将ProtoEndpointbehavior
应用于WCF ServiceEndpoint
(当然是客户端和服务器端)时,protobuf-net“已知”的所有数据对象都会被protobuf-net清除。
public static void ApplyProtoBufEndPointBehavior(ServiceEndpoint endpoint)
{
endpoint.Behaviors.Add(new ProtoBuf.ServiceModel.ProtoEndpointBehavior());
}
昨天我得知这不是真的。
当抛出FaultException<TDetail>
时,总是使用DataContractSerializer。到目前为止,我甚至没有意识到这一点,因为我的所有错误都只包含.net标准类型。
但昨天我尝试用自定义错误发送一个我自己的数据类型的对象。我花了很长时间才发生了什么...
我如何教WCF使用protobuf-net序列化故障?
我们正在使用.NET 4.0和net.tcp绑定。