我认为这是一个奇怪的问题,我在服务器端定义了一些类,然后通过服务引用引用,其中两个正在按原样运行。我已经从服务接口中指定了已知类型:
[ServiceKnownType(typeof(Obj))]
[ServiceKnownType(typeof(DigitalObject))]
[ServiceKnownType(typeof(AnalogueObject))]
[ServiceKnownType(typeof(AttributeType))]
[ServiceKnownType(typeof(AttributeData))]
从silverlight应用程序中,我通过以下方式引用该类:
private ServiceReference.AttributeData commonData = new ServiceReference.AttributeData();
这样工作正常,但是我对另一个类做了完全相同的事情,唯一的区别是名为AnalogueObject
和DigitalObject
的类派生自类型{{1}的类}。你知道发生了什么吗?命名空间都是一样的,我已经重建了Web解决方案并更新了服务引用。
示例类:
Obj
答案 0 :(得分:1)
如果您要在服务器和客户端之间传递复杂类型,则应使用DataContract
属性对其进行标记,并使用DataMember
标记其属性。这将告诉.NET序列化对象并将其传递给SOAP消息。