是否有机会在运行时(例如使用操作行为)获取操作(DataContractSerializer / NetDataContractSerializer / XmlSerializer等)使用的数据协定序列化程序。我想要实现的是创建一些诊断代码,使用当前连接的序列化程序来序列化消息(在消息检查器中)以比较结果。
谢谢,Pawel
答案 0 :(得分:0)
看一下在服务端创建消息检查器。从那里你可以获取消息并检查其编码器。编码器会告诉你它的序列化方式。这不是工作代码,但它会是这样的:IDispatchMessageInspector.AfterReceiveRequest( ref Message request....){ if ( request.MessageEncoder is typeof(BinaryMessageEncoder) //do stuff.....}