【问题标题】:Not to lose data on database operations if disconnected如果断开连接,不会丢失数据库操作的数据
【发布时间】:2015-02-06 01:20:21
【问题描述】:

我需要知道如果断开连接,我如何不会丢失用户已经输入的数据。例如,一个用户完全填写了一份表格,没有任何必要的输入留空。当他按下“保存”按钮时,在数据存储到数据库之前,与互联网的连接(因为它是一个互联网应用程序)将被断开。通常,不会保存任何数据,并且所有操作都会回滚。 我的问题:在 ASP.NET C# 应用程序中是否有任何方法可以保留这些输入数据?当应用程序(浏览器)关闭或机器关闭时连接恢复时,操作是否完成? 非常感谢您的任何帮助

【问题讨论】:

  • 不使用 C#,因为它在服务器上运行。但是在客户端,HTML5 提供了Local Storage。或者您可以将其保存在cookie 中。当表单提交时,您需要使用一些 JavaScript 将数据保存在其中一个中。

标签: c# asp.net database connection


【解决方案1】:

嗯,部分是的。

正如梅森所说,您可以使用浏览器的 LocalStorage 将数据存储在客户端,以防互联网连接不可用。

你无法在 C# 中解决这个问题,因为它在服务器上运行,如果连接断开,来自客户端的任何数据都不会到达服务器,因此不会执行任何服务器端代码。

您可以使用 LocalStorage 调整以下模式来完成此操作:

伪代码

//Flag
Bool Internet_Available=false;


// on internet connected
if(data available in LocalStorage){
     Internet_Available=true;
     //submit the data to server
}

// on internet disconnected
Internet_Available=false;



// on submit
If(Internet_Available){       
    // submit form
}
else{
    // save the form values in LocalStorage
    // alert user
}

希望有帮助!

【讨论】:

  • 非常感谢您和梅森。实际上,您编写的伪代码可以为我完成这项工作。买你知道,一开始我打算重新连接后自动继续数据库操作。但是此时,对于我一直在处理的特定场景,实际上不需要自动执行,只需 LocalStorage 方式就可以很好地满足客户的要求。所以,非常感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 2013-04-27
  • 2019-04-15
  • 1970-01-01
  • 2012-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多