2011-04-08 76 views
1

我在Silverlight中使用了一个简单的WCF服务,但我想用注释验证数据,并且我不想在Silverlight项目中编写一个全新的图层。所以我决定切换到使用通过在silverlight项目中生成代码创建的DomainService。发送带有DomainService WCF服务的抽象类到Silverlight

现在麻烦来了。我有一个父类和大约10个派生类。通过WCF,我能够使用基类。现在我试图使用带有KnownType属性装饰的基类的DomainService。现在的问题是这些属性在Silverlight客户端中被复制,并且引发编译错误。任何人都知道如何通过继承来使用DomainService?我只想提供基类的信息。

+1

因此,您有不想携带客户端代理的属性? – 2011-04-08 16:21:32

+1

是的,或者了解这种情况下的最佳做法 – vmachacek 2011-04-11 07:33:01

回答

0

我不完全关注你的问题,但this is a great tutorial关于如何在Silverlight中使用域服务,并且该示例包含所有实体的抽象基类,与我认为你所做的相似。

+1

我的问题是我不知道如何使用域服务与我的poco对象,并在发送给客户端时在这些poco中使用继承。基本上我想设置baseclass作为一种方法的返回类型,并发送那里BaseClas的后代和需要从Silverlight能够理解这些类型 – vmachacek 2011-04-11 07:34:59

+1

所以你想要一个像这样的方法public BaseClass GetSomeData();但是在那个方法中你想返回ConcreteClass在哪里ConcreteClass:BaseClass? – BrandonZeider 2011-04-11 12:53:41

+1

如果是这样,我不认为这将工作,除非你的Silverlight应用程序具有正确的命名空间ConcreteClass的定义,以便您可以将GetSomeData()响应转换为正确的类型。 – BrandonZeider 2011-04-11 12:54:30