我想知道我对以下情况的选择:
我有一个 C# winforms 应用程序(在 VS 2010 中开发)分发到国内的多个办事处。该应用程序与位于单独位置的主服务器上的 C# Web 服务进行通信,并且在另一个位置有一个数据库 (SQL Server 2012)。(所有服务器运行 Windows Server 2008)
总部(我们所在的地方)使用相同的前端来管理数据库中的某些信息,这些信息需要随时可供所有办公室实时使用。同时,他们更改的任何数据都需要在总部随时提供给我们,因为我们有一个实时仪表板 Web 应用程序来监控站点范围的统计数据。
目前,用户抱怨应用程序的运行速度。他们说这真的很慢。我们在一个关键业务环境中工作,每一分钟的等待都可能意味着失去一个客户。
我研究了以下选项,但不是来自数据库背景,所以不太确定我的方案的最佳路线是什么。
- 终端服务/会话(我刚刚在总部实施,他们说这是一个很大的改进,尽管有一个可怕的滞后——比如远程处理到某人的桌面上,这不是很好的工作。)
- 事务复制(在我的场景中听起来似乎很合理,但需要所有办公室在各自的服务器上拥有自己的 SQL 服务器数据库,并且他们倾向于“摆弄”并破坏他们负责的一切!)希望我们可以接管他们所有的服务器,但他们是特许经营权,所以在现场有自己的 IT 人员。)
我目前在应用程序启动时缓存了很多查找数据,但这也需要 2-3 分钟才能完成,这是不可接受的!
有没有人有任何想法?