代码之家  ›  专栏  ›  技术社区  ›  Travis Heseman

连接不稳定-喜欢web或桌面应用程序?

  •  2
  • Travis Heseman  · 技术社区  · 15 年前

    他们真的想要一个集中的web应用程序,并建议我构建一个“精益”web应用程序。我不知道“精益web应用程序”是什么意思:HTTP请求很小,但有很多?还是大型HTTP请求中很少有?我倾向于选择矮胖的还是健谈的。。但我以前从未担心过连接问题。

    我是否建议使用桌面应用程序在连接存在时复制数据?如果不是,那么在连接不稳定的情况下,使用web应用程序的最佳方式是什么?

    编辑: 我必须进一步说明我的问题。假设使用web选项,他们不允许使用浏览器运行时技术和任何需要安装的东西。因此,Silverlight不可用,Flash不可用,Gears不可用-我只能使用asp.net和javascript。说到这里,我的部分问题是是否使用桌面应用程序;我想这可以扩展到“更厚的技术”。

    编辑#2:网络是同质的-每个节点都是窗口。这不会改变。

    5 回复  |  直到 15 年前
        1
  •  7
  •   Zak    15 年前

    完全

        2
  •  1
  •   Steven Sudit    15 年前

    如果连接性很差,我建议您编写一个WinForm应用程序,下载信息,在本地编辑信息,然后上传。这样,如果您的连接中断,您所要做的就是重试,直到它正常工作。

    他们似乎在建议一个普通的web应用程序,它不使用AJAX,也不依赖.NET回发,或者如果你的连接中断一段时间,它可能会崩溃。相反,它的设计应该使您可以点击刷新直到它工作。换句话说,他们似乎想要最接近WinForm应用程序的东西,只是更丑陋而已。

        3
  •  1
  •   MusiGenesis    15 年前

    您的客户机可能有所有使用Windows的位置,因此桌面应用程序是一个合适的选择。web应用程序的另一个优点是,它们使部署问题易于处理。像ClickOnce这样的自动更新技术使桌面应用程序的部署和更新几乎同样容易。

    这并不是要打击谷歌齿轮,但它相对较新,必须被视为比一个经过考验的真正的桌面应用程序风险更大。

    使现代化 :如果客户端仅限于javascript,则 绝对不会 希望将此设置为web应用程序。只要Internet连接断开,您的应用程序就不可用。有一些方法可以使用cookies、用户存储等等在javascript中本地保存内容,但您不想这样做。

        4
  •  0
  •   Michael La Voie Frederik Gheysels    15 年前

    网络恢复后,框架可以将更改与中央数据库同步。

    甚至还有一个使用指南 Google Gears with the .Net Framework .

    Gears with other languages

        5
  •  0
  •   Zak    15 年前

    您提到这些位置的连接不稳定,但应用程序需要集中。你可以考虑使用多个分散的读数据库服务器和一个集中式写服务器。Mysql使这成为可能

    将主数据库服务器置于数据中心/中心办公室。在每个位置安装小型web/db服务器,并安装应用程序。如果远程位置不太大,您甚至可以在用户计算机上运行它们。使本地数据库服务器作为复制从属服务器连接到集中式数据库服务器。当中央数据库发生变化时,从服务器将提取数据并使其在本地可用。当连接不可用时,您的应用程序数据至少仍然可用(如果不是最新的)。当连接可用时,数据库将处理所有相关数据的向下复制。

    现在你所要做的就是让你的应用程序使用两个独立的数据库句柄:读取使用本地数据库的数据,写入使用中央数据库的数据。