我需要你的意见的人。 我在VS2012约二手车经销商写一个工程工作项目。 我有一个SQL数据库,WCF DataService的,WPF应用程序(这是succesfuly连接到WCF),想为它创建移动版本太多。 我选择MVVMCross便携式创造单声道Android和WP7的应用程序有一个核心。 而我在这里有问题,从移动便携核心像连接到我的WCF DataService的:
无法因为WCF数据服务未安装此目标框架的服务引用添加到指定OData源。 若要安装WCF数据服务的受支持版本,请参阅http://go.microsoft.com/fwlink/?LinkId=253653 。
我在互联网上搜索,似乎可移植类库不支持WCF数据服务。 我在写,希望这个问题您有这方面的任何解决方案。 如果没有应我只是等待?
我读了一些关于Simply.OData,但我不知道如何把它succesfuly工作。
提前致谢。
我已经连接MvvmCross应用基本HTTP从所有的Droid,Touch和WinPhone的数据服务WCF(从来没有尝试过的WinRT或WPF - 但他们应该工作太)
你是,但是,正确的,因为WCF代码将需要在不同平台上的不同 - 这是因为WCF使用的代码是不可移植。
我认为有2点如何解决这个基本的选择:
裹便携式接口后面的WCF代码 - 这涉及便携式DTO类和呈现为得到一个接口的接口/发送。 然后,您需要编写一个小的类它映射每个平台便携DTO的向/从非便携的。 像AutoMapper工具可以帮助这个 - 我还没有MonoDroid的或WinPhone试过这虽然。
使用文件链接在你的核心和维护单独的库项目为每个平台。 对于这个文件链接方法的一个例子来看看https://github.com/Redth/WshLst/ -这是对WCF,而不是Azure的移动服务-但同样的原理适用。
无论是这两种方法是完美的 - 无论是放在头顶到发展 - 但二者之间仍然有希望为您提供一种方式来共享代码和构建应用程序向前移动。
我个人比较喜欢的方法1 - 因为它提供了一个干净的界面分离从我的应用程序逻辑当前的网络堆栈 - 它为我提供了一个技术路线,以消除WCF并且用类似的WebAPI或服务栈在将来取代它。
在不久的将来,有可能是其支持跨MonoTouch的和MonoDroid的一些WCF功能的共享便携式类库资料 - 但我怀疑这将是可在任何点很快就Wp的或WinRT的:/
我怕不知道什么Simple.OData(这一点, https://github.com/simplefx/Simple.OData ) -我相信它是谁写了很多球员,但我不知道怎么好了dynamic
代码适用于WP和MonoDroid的。 我认为它应该在两个工作-但有可能与依赖于任何代码问题Reflection.Emit
。
最后一点 - 每当你做WP相关的任何网络,总是试图启用Gzip压缩,如果你能 - WP默认情况下不提供此。
看一看Simple.OData.Client。 这正是编写用于此目的的便携式类库(内部使用,但Simple.Data的OData适配器)。 我甚至有MvvmCross使用它。
这是在GitHub上,具有NuGet包。 请确保您有“预”选项来安装它。
文章来源: Connecting MVVMCross Portable connect to WCF DataService. Is it possible?