如果断开连接,不会丢失数据库操作的数据
Not to lose data on database operations if disconnected
我需要知道如何在断开连接时不丢失用户已经输入的数据。例如,一个用户完整地填写了一张表格,没有留下任何必填项。当他按下“保存”按钮时,在将数据存储到数据库之前,与互联网的连接(因为它是一个互联网应用程序)将断开连接。通常,不会保存任何数据,所有操作都会回滚。
我的问题:ASP.NET C# 应用程序中是否有任何方法可以保留这些输入数据?当连接恢复时,即使应用程序(浏览器)已关闭,甚至机器已关闭,操作是否完成?
非常感谢您的帮助
嗯,部分是。
正如梅森评论的那样,您可以使用浏览器的 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
}
希望对您有所帮助!
我需要知道如何在断开连接时不丢失用户已经输入的数据。例如,一个用户完整地填写了一张表格,没有留下任何必填项。当他按下“保存”按钮时,在将数据存储到数据库之前,与互联网的连接(因为它是一个互联网应用程序)将断开连接。通常,不会保存任何数据,所有操作都会回滚。 我的问题:ASP.NET C# 应用程序中是否有任何方法可以保留这些输入数据?当连接恢复时,即使应用程序(浏览器)已关闭,甚至机器已关闭,操作是否完成? 非常感谢您的帮助
嗯,部分是。
正如梅森评论的那样,您可以使用浏览器的 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
}
希望对您有所帮助!