asp.net - 断开连接的应用程序开发方法

标签 asp.net wpf service disconnected

我们公司在美国和加拿大部分地区的每一次灾难性事件中都有人员。一个例子是它们在卡特里娜飓风过后立即非常流行。

我们正在构建一个应用程序来改进他们在该领域的工作,它可能是 ASP.NET 或 WPF,断开连接的要求使我们相信它将是一个 WPF 应用程序。我们的员工需要能够创造他们的工作,提供所有保险和测量数据,并将其保存在数据库中,无论互联网是否可用。

我们试图解决的问题是,在发生灾难性事件时,即使互联网不可用,我们的员工也需要能够使用我们的新应用程序。 (他们在卡特里娜飓风中离线了 3 天)

有没有其他人必须解决这样的要求,并就他们如何在小尺寸设备上实现功能提供建议,同时保存数据,就好像它们仍然连接到后端服务和数据库一样?我们还必须将安全性纳入其中,并且做得足够好,以便他们输入的数据可以毫无问题地加载到连接的数据库中。

我们的长期目标是也为 Android 和 iPad 平板设备以及笔记本电脑提供此应用程序。我们对 ASP.NET 的最初愿望是它为我们提供了一个适用于平板电脑环境的即时应用程序。在他们拥有的旧应用程序中,他们运行本地服务器,在平板电脑上运行远程连接并通过终端服务器运行应用程序。不漂亮。不漂亮。

我觉得这是一个严肃的问题,不是主观的,所以希望这不会被删除。

我们当前在服务器端的架构是具有存储库模式的 Entity Framework 、满足返回复合数据传输对象的 CRUD 请求的 WCF 服务,以及供客户端使用的代理。

我有兴趣听取其他开发人员的意见和这个设计难题。

添加到讨论中的其他信息

提供了很多很好的信息!!!我肯定得看看 Microsoft Sync。对于断开连接的数据库,我只会在初始数据库中放置列表(枚举)。将为我们正在帮助的每个客户添加工作,如果需要,我们称为干书的项目。 (虽然我希望在我们清理和晾干房屋时互联网能恢复)一旦我们拥有稳定的链接,这些表格就会重新填充到主机。在卡特里娜飓风的情况下,我们的办公室也失去了互联网连接,这意味着办公室也有好几天没有提供通信缓解。

昨晚我意识到我们的客户端代理是一切正常工作的关键!客户端仍然不知道它是在线还是离线,并将同步过程留在该库中。我们正在发现我们今天谈论的数据有多少。我还想明确指出,ASP.NET 是一个受欢迎的对象,但胖客户端(实际上是带有 XAML 的 WPF)可能最终成为我们的最终状态。

现在 - 进行多次更新。断开连接的工作将通过一个特许经营权转移到个人家庭。事实上,我们的家庭办公室将特定的特许经营权分配给特定的事件。因此,我们降低了多人更新记录问题的可能性(如果有的话)。原因是他们正在为每项工作(个人的家庭/办公室/企业)创建记录,并且只有一个专营权会处理它。当然,这也意味着,如果它们断开连接数天,那么创建作业的设备(记录谁、在哪里、条件、保险公司等)也是唯一知道该作业的设备。但这可以忍受。事实上,我们也许能够有一个设施来同步集线器上的特许经营设备。

我期待听到更多关于您如何实现断开连接的环境的故事。

谢谢!!!

看微软的新技术

我被指示观看 2012 年 TechEd 的视频,并认为我可能有答案。谈话是关于使用 ASP.NET 和 MVC4 以及用于断开连接行为的 2 个库。起初我认为它会很棒,但随着它的继续,它让我有点担心。

首先,使用 javascript 后端来支持断开连接的 I/O 不会产生信心。作为一名编译器人(以及编写两种解释性语言的人),我真的不喜欢依赖于解释性 javascript 的关键业务模型。和脚本!可能是我,但它只是让我不寒而栗。

然后他们展示了他们的“伟大的”(???) 编程模型,让您的 ViewModel 仅作为 javascript 存在。我不关心可以用记事本编写的应用程序(asp.net 和 javascript),也可能(因为缺少智能感知)。

无意冒犯任何 asp 爱好者,但是一个经过语法和类型检查的编写良好的 C# 程序使我对软件更有信心,而不是希望和祈祷类命名空间已正确键入而无需任何交叉检查的方式编写的程序。我已经看到太多小时的调试时间来寻找一个错误,该错误最终出现在一个巨大的命名空间中,并在它的名称中转置了 ie。我的想法经过了我小组中的其他高级开发人员,我们都对这项技术达成了共识。

但我们继续看。 (我觉得这更像是日记而不是问题):)

最佳答案

看起来是 的完美例子Microsoft 同步框架

http://msdn.microsoft.com/en-us/sync/bb736753.aspx

A comprehensive synchronization platform that enables collaboration and offline access for applications, services, and devices with support for any data type, any data store, any transfer protocol, and any network topology.

关于asp.net - 断开连接的应用程序开发方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10988211/

相关文章:

android - 方法为所有 Google 应用程序返回相同的包名称

symfony - 如何使用注释将 Controller 定义为服务?

asp.net - 在重定向中使用 Asp.Net MVC TempData 时是否可能出现 "race condition"?

asp.net - 将 Web 用户控件移动到不同的命名空间

c# - 'method' 没有重载匹配委托(delegate) 'System.EventHandler'

wpf - 网格面板 WPF 中的拖放重新排序控件

android - 自定义 Android 下载服务 - 为每个文件提供进度通知行

c# - 优化自定义控件的javascript

c# - 将 javascript 日期时间转换为 C#/VB.NET 日期时间

wpf - 动画 TranslateTransform.Y 到控件的高度(目的是将元素滑出视线)