如何更好地部署(安装)这个应用程序?

how is better deploy (install) this application?

我有一个包含两个主要部分的应用程序。首先,客户端,基本上是用户界面,其次,存储库是一个库,它与数据库连接并具有插入、更新、删除...的所有逻辑,并确保数据的一致性。

应用程序还没有部署,此时客户端直接使用存储库访问数据库。但是当我不得不在局域网内为许多用户部署应用程序时,我认为这不是最好的解决方案。

第一个解决方案

在所有需要该应用程序的用户的计算机上安装客户端和存储库。

这样的缺点是当我更新应用程序时,我必须更新很多应用程序,而且可能因为任何原因并不是所有的应用程序都更新。因此,如果更新是修复某些问题的存储库,如果未更新应用程序的客户端将在数据库中引入不一致的数据,如果修复是为了纠正此类问题。

第二种解决方案

客户端直接使用存储库,但应用程序安装在网络驱动器中。我只有一个安装,所以如果我需要更新应用程序,我必须做一次。

应用程序不是很大,大约12MB,但是它可能有点慢,因为从服务器到用户计算机必须通过网络。所以也许有些用户可以将应用程序复制到本地计算机,所以我不能确保第一个解决方案会出现问题。

第三种解决方案

客户端应用程序不直接使用存储库,存储库在服务器中,客户端使用WCF与服务器通信,服务器使用存储库访问数据库。

缺点是服务器要运行版本库,所以如果有很多客户端连接,需要大量内存,相反,如果用户的计算机在本地有应用程序,本地计算机需要内存。

总而言之,当我必须部署这种应用程序时,哪个是最好的解决方案,或者您会在项目中使用哪个解决方案?

非常感谢。

这个真的要看你的部署方式了,你是用ClickOnce部署的吗?如果是这样,您可以将数据保留在每台 PC 本地,避免那些 RAM 问题,并且如果您发送新的更新更改所需的版本号并将其设置为在 运行ning 之前检查,这样他们将无法运行 程序而不更新它。问题是他们必须具有网络访问权限,但这对于远程数据也是一个问题。在这种情况下,您只需要在更新期间访问网络,不确定这是否会成为问题。