2011-04-08 87 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