我正在开发一个ASP.NET网站。用户可以打开网页并在联机时处理数据。但我希望他们能够在离线时工作,并在以后再次在线时提交更改。离线应用程序必须非常简单才能运行,我不想为此目的开发单独的Windows应用程序。
所以我想构建一个可执行文件,在启动时,首先启动一个本地IIS,然后在用户的浏览器中打开我的网站的启动页面(在本地可用)。
当然,如果可以将这个可执行文件与我的网站文件,IIS和SQL Server Express一起安装在用户的系统上,那将会很棒。
答案 0 :(得分:1)
好的,我重新阅读了您的问题,看到您将在所有客户端系统上安装本地IIS和本地数据库。
那么解决方案非常简单。
应用程序(主要表单)
同步模块:
数据库同步模块在计时器/单独的线程中运行,并在后台将本地数据库与在线数据库同步。它将任何未保存的更改发送到服务器,并将任何缺少的数据从服务器下载到本地数据库。您需要控制此模块的速度,以便用户在浏览其他网站或平滑使用应用程序时不会遇到困难等。它应该缓慢而稳定,并且一次只发送/请求一小块数据。
在离线模式下,它会定期检查在线连接。一旦找到互联网连接,就会通知用户。如果允许,则切换到在线模式。否则,用户将继续脱机工作,直到应用程序关闭并再次启动。
在线模式下,同步模块会将数据同步到&来自在线数据库。这不会影响用户,因为它们未连接到此数据库。相反,它们连接到在线网站和数据库。
它将努力简化这种方法,但最终它很容易实现。
答案 1 :(得分:0)
这不仅仅是一项任务。这将是一系列同步协同工作的任务。
您的Windows应用程序执行以下操作:
您的服务器执行以下操作: