我有一个Win Mobile 6.0 .NET CF应用程序,它使用对WebService的引用来调用Web方法。在设备处于WLAN覆盖范围的正常情况下,Web方法可以由设备同步执行。问题是设备何时脱机(没有WIFI或GPRS覆盖)。我希望应用程序仍然可以运行,但需要“缓冲”Web方法调用,以便所有操作都存储在本地,如果设备再次联机,则所有挂起的Web请求都在WebService上执行。在.NET CF中是否有任何通用的解决方案?或者我必须手动实施吗?我现在能想到的唯一想法是手动提取WebService的接口并实现它的自定义实现,该实现检查WebService是否可用,并且在这种情况下将所有Web方法调用引用到WebService代理。如果WebService不可用(没有Internet连接等),则调用我的自定义实现,其中存储是本地WebMethod调用(即在本地文件中)。 .NET CF是否支持WCF的某种事务机制?
由于 多米尼克
答案 0 :(得分:1)
link text肯定没有任何可用的东西可以做到这一点。您描述的行为不是交易行为,而是更多保证交付行为。 Microsoft将Disconnected Service Agent Application Block作为 desktop SCSF的一部分来解决此类情况。
模式和实践团队确实在Mobile Client Software Factory中作为离线应用程序块(sample here)对其进行了缩小版本,但要注意MCSF中的许多其他内容从桌面SCSF移植而没有真正考虑嵌入式设备上的性能或内存,因此它在真实设备上真的无法使用(这是我说它完全糟糕的好方法)。但是,OAB似乎是一种合理的实施方式,可能会做你想要的。