|
|
1
3
任何一个直接回答这个问题的人都不知道他在说什么。
其中一个最大的挑战(阅读:开发人员实际被雇用的原因)是创建一个断开连接的客户机是困难的。
你问的问题本质上是“那么,我如何构建一个智能客户端?”
你首先要问自己的是:你需要什么级别的智能客户端?
我通常看它的方式是通过以下功能:
脱机时间的长度(更具体地说,如果重新启动应用程序)决定了您的缓存是保存在磁盘上还是可以信任到RAM。
如果客户机可能在没有网络连接的情况下从OOB启动,则必须将脱机数据存储到磁盘。您将无法在启动时从服务器获取新数据。
这是所有智能客户端之间的一个公共线程。 所有智能客户端应用程序都可以访问离线数据,但将其作为IMO的一项功能来调用是很重要的。
所以,如果你有一个购买应用,没有网络连接,用户可以创建一个新的订单吗? 如果是这样,您必须在本地缓存这些数据,并在第一个客户机<->同步周期中将其传输到服务器。
您是否可以将脱机功能仅限于创建关键数据? 或者,您是否需要允许离线创建和更新所有数据并删除所有数据? 我的建议是限制离线更改,因为如果没有,您将遇到非常复杂的场景来解决。 例如,上午12点,用户A删除客户1,12点05分,用户B为客户1下新订单。两个用户都处于脱机状态。现在去找出正确的业务解决方案是什么:) 编辑:固定示例;)
假设您的共享数据(例如客户表)很大。 你有1000万顾客。您不能在所有客户机上存储这些敏感数据。 那么,当一个离线应用程序需要超过它没有的客户时会发生什么呢? 你对终端用户说“上该死的网络,好吗?”.
这个问题的关键部分是——如果出了什么问题,你是否可以关闭那个用户? 这个问题决定了您是否需要在每个数据操作(新数据、检索到的数据、表单更改字段等)上坚持到磁盘,或者您是否可以只在应用程序关闭时坚持到磁盘。 当您查看Silverlight时,您有一些很好的技术选项。
几个月前,根据Nikhilk的博客文章,RIA服务公司正计划支持“可离线性”。但是范围和时间线没有指定。
干杯,
|
|
|
Bigeyes · 如何在MVVM模式中添加行? 9 年前 |
|
|
User9898 · 悬停回到原始颜色时为什么选择 10 年前 |
|
|
user3112242 · 在Silverlight中打印。缺少一些页面 10 年前 |
|
|
Huma Ali · WCF已完成事件中的异常处理 10 年前 |
|
|
Nerd in Training · 文件副本发布错误 11 年前 |