在WCF / WPF客户端/ WPF UserControl之间共享实体的最佳实践是什么

时间:2014-10-31 21:01:40

标签: c# wpf wcf wpf-controls wcf-binding

我有一个包含多个项目的解决方案:

  1. 带有DataContracts定义的类库
  2. WCF服务库(引用1)
  3. WPF UserControl Library
  4. WPF客户端应用程序(服务引用为2,引用为3)
  5. 当我在WPF客户端应用程序中使用带有服务引用的代理生成时,将在该项目中生成数据实体。接下来,我在WPF客户端应用程序中使用了WPF用户控件,这些控件位于一个单独的项目中,以便重用。我想基于某些操作将数据从客户端应用程序传递给UserControls。

    我的问题是,如何在WPF Client App和WPF UserControl库中引用相同的Data实体。在UserControl库中,我可以引用DataContract项目,但这些类型与客户端应用程序中使用代理生成的数据类型不同。现在我在我的UserControls中使用动态,当我将数据从ClientApp传递给UserControls时,绑定解析得很好。但我不喜欢这种方法。我希望能够在我的UserControls中使用泛型。

    我知道如果我可以访问所有项目(服务和客户端),我可以使用ChannelFactory并在所有项目中引用相同的DataContracts,但我现在的问题是关于使用服务引用生成代理的场景

    关于如何在不同项目之间共享相同数据类型的任何想法和最佳实践?

    感谢

0 个答案:

没有答案