我们用wcf进行数据传输的时候一般要进行如下的标识,标识要传输的是什么类型或实体,比如这里的ClassA
[KnownType(typeof(ClassA))]
但是我想动态传输实体类,也就是说预先不知道要传输的哪个类,可能是ClassA,也可能是ClassB或ClassC,
该怎么处理呢?如果直接用[KnownType(typeof(object))],那肯定是不行的,因为这样wcf不知道如何序列化数据。。。
------解决思路----------------------
即使你成功的传输了object,又有什么意义呢,接收到之后,你怎么反序列化,怎么重新解析成对应的类型?
------解决思路----------------------
微软原生提供的int,string之类的可以被解析出来
自定义类无法解析,这时候你需要通过[ServiceKnownType(typeof(你实际的类))]来告知服务端和客户端如何解析
------解决思路----------------------
不能啊。。。
------解决思路----------------------
“能不能”这没有多大意义,原本人家传递的也是object。重点是你“要不要告诉它最终反序列化类型?”。
告诉你,“要告诉类型”。