具有频繁在线同步功能的C#桌面应用程序



我将开发一个患者管理系统,它将是一个在c#.Net中构建的桌面应用程序
问题是,许多医生都将使用它,而且不同的房间之间不能像政府医院和医生一样联网,也不能自己联网,所以他们负担不起联网基础设施,他们所能做的是,只要机器上有互联网,他们就可以连接到互联网

这是我需要的。在安装系统的每台机器上都会有一个本地数据库,只要有互联网可用性和用户单击update按钮,就会更新该数据库。系统还将允许用户更新在线数据库。因此,推拉操作都需要得到支持


现在问题:.Net支持这种功能吗。如果是,那么任何特定的api,如果不是,我有什么选择。

如果你要通过互联网传输患者记录,那么你必须非常仔细地考虑这样做的合法性。这几乎肯定涉及到确保患者记录的存储和传输是加密的,存储这些数据的服务器经过了仔细配置,并通过必要的安全更新进行了维护,并且访问这些数据的医生的PC被验证为被允许这样做(被验证为合法,并被授权访问特定记录)。

任何一个错误都可能导致机密患者数据泄露,这可能会使你的手术(以及你自己)面临诉讼。如果你被发现疏忽大意,你甚至可能会面临刑事指控的风险。(IANAL,你需要自己做尽职调查。)

就我个人而言,我建议你尽一切努力建立一个局域网。这应该会消除这些更敏感的法律问题,因为你将不再与公共网络接口。联网并不昂贵或困难,如果你解释情况并提供其成本的详细信息,你甚至可以自己制定预算。

如果你有很多医生的电脑,每个电脑都更新自己的本地数据缓存,然后定期更新一个集中存储,那么你迟早会发现你会遇到数据冲突。一个天真的系统会简单地用最近推送的更改覆盖旧数据,从而丢失任何早期的独立更改。我猜你不希望数据丢失,那么你需要选择一种策略来避免这种情况。这可能涉及记录锁定或某种形式的冲突解决。看看维基百科的并发控制文章。

c#是否支持这种功能。

是的,这叫做编程。C#是一种语言(根据语言规范)。它支持别人编程的一切。

如果是,那么任何特定的api,如果不是,我有什么选项

不在C#中。C#根本没有API-甚至没有在控制台上写行的API(console.WriteLine是.NET框架的API,而不是C#应用程序的API)。

微软有一个SYNC框架,如果你起诉SQL Server或为此编写自己的提供商,你可以使用它。检查http://msdn.microsoft.com/en-us/sync/bb736753.aspx从这个框架开始。

最新更新