我想在 .Net4 后端和 Silverlight 5 前端之间共享一个大型对象结构。我已经创建了两个适当类型的类库项目,并在 .Net 库中实现了我的对象结构,并链接到 SL 库中。在 Silverlight 客户端,我引用的是 Silverlight 类库。当我生成服务引用时,我检查了“在引用的程序集中重用类型”选项。但是,当我生成服务引用时,我发现仍在生成引用程序集中的类型。它只是某些类型,并且似乎主要是集合类型(带有<CollectionDataContract>
)。
我有一个主对象,它具有许多属性,这些属性通常是List<MyTypeA>
或者在某些情况下是MyListTypeB
继承MyListTypeB
自List<MyTypeB>
. 似乎是与MyListTypeB
生成代理类似的类。这些都归因于<CollectionDataContract>
并具有默认构造函数。
我还发现,即使我向其中添加服务引用的项目具有对包含实体的其他 SL项目的引用,但当我更新服务时,也会将直接对 dll 的新引用添加到项目中。我不确定为什么会发生这种情况,或者它是否会导致服务代理生成混乱
有什么方法可以判断哪些类/属性导致服务生成生成代理类?或者它是一个反复试验的情况,必须注释掉属性,直到它们没有被生成并在问题类上磨练?