gpt4 book ai didi

c# - 从 asp.net 前端添加 sql 记录的最佳实践?

转载 作者:太空宇宙 更新时间:2023-11-03 13:49:16 24 4
gpt4 key购买 nike

我有一个网站接受用户输入,对其进行处理,然后将记录添加到 sql 表中。

这个周末我遇到了一个问题,SQL 服务器出现问题,给用户留下了非常长的处理时间,最后出现了超时响应。最重要的是,处理后的数据丢失了。

最后,我想知道是否有可能以某种方式将这些处理过的数据存储在某个地方,直到 SQL 再次运行,然后再添加记录?

我想这可能是通过网络服务完成的?还是可以在后面的asp.net代码中完成?

最佳答案

我们有一段时间处理过这种情况,当时我们有一个传真服务器负责处理传入的传真并将它们存储在数据库中,但数据库不太可靠。

在这种情况下,如果我们无法访问 SQL Server,我们会将数据序列化到磁盘上的一个队列中,并在应用程序中设置一个标志,指示 SQL Server 处于脱机状态。设置此标志后,任何后续提交都将存储在磁盘队列中。

然后我们会定期检查 SQL Server 以查看它是否已备份,如果已备份,我们将处理队列中的每个文件,然后关闭离线标志。

在 ASP.Net 中,一旦 SQL Server 离线,您可以启动一个线程来监视 SQL Server,并在它重新在线时执行此处理。

但是,在您所描述的情况下,听起来像是有人开始了事务但没有完成它,或者正在进行维护操作(DBCC、备份)。

如果这种情况经常发生,您可能需要设置一个比预期的正常持续时间(比如双倍)稍长的 CommandTimeout,如果操作没有在该时间范围内完成,要么告诉用户有一个问题或进入缓存模式。

关于c# - 从 asp.net 前端添加 sql 记录的最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14199911/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com