WCF on Windows Phone
我的桌面应用程序(WPF 服务器)想通过 WCF 与 Windows Phone 通信。我更喜欢 .net tcp。
我想我需要三个项目,分别是WPF server、WP client、Contracts。 Contracts 项目是 Windows Phone 类库,针对 WP8.0。 Contracts 项目定义了两个类,interface IPhone 和 class PhoneClient: ClientBase<IPhone>, IPhone。 WP客户端的目标也是8.0。 WPF 服务器有对 Contracts 的引用。
Visual Studio 在 WPF 服务器项目中没有显示错误。但是当我构建 WPF 服务器时,VS 说
could not find System.ServiceModel, Version=2.0.5.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35
。错误发生在我使用 PhoneClient.
的地方
我该如何解决这个问题? Windows Phone 是否支持 WCF?
Windows Phone 绝对支持 Wcf
不需要合约库。如果您创建 wcf 服务器,您可以在 windows phone 项目和 Visual Studio 中添加服务引用,它将自动为您生成数据合同类。
如果你想在 wpf 和 wp 应用程序之间共享数据契约库,你应该选择可移植库,而不是 wp 或 wpf 类库。
合同库不得包含服务合同的实现,在您的情况下是 PhoneClient 类。它应该只包含服务接口和数据契约类(方法输入和输出)。
我不知道你是如何得到错误信息的,但是 System.ServiceModel, Version=2.0.5.0 是旧的。确保在 wpf 和 wp 项目中都添加了对 System.ServiceModel 程序集的最新版本的引用。在合同库中不需要
- 便携图书馆是重点!而且我发现WP没有NettcpBinding,而且貌似只有BasicHttpBinding。
-
此外,Silverlight 仅支持异步调用。