为什么同一个存储过程调用被多次触发
本文关键字:同一个 存储过程 调用 为什么 | 更新日期: 2023-09-27 18:27:28
在我的网页中,当我添加一条记录时,一些记录会被多次添加。然后我发现同一个DB调用被发送了不止一次(在分析时)。不仅是该SP,还有其他一些SP。但他们只是在返回数据。所以他们没有造成任何问题。但这种行为只存在于生产现场。不在开发现场。因此,很难跟踪SP调用的来源。我检查了循环和其他东西,但没有。
以下是javascript文件中的HTTP请求:
var strParams = "?";
strParams += "Process=" + "assignQuestion";
...
strParams += "&measure=" + measure;
xmlAssignQuestion = new ActiveXObject("Microsoft.XMLHTTP");
xmlAssignQuestion .onreadystatechange = assignQuestionBack;
xmlAssignQuestion .open("POST", "AssignQuestion.reliability" + strParams, false);
xmlAssignQuestion .send();
这是HTTP处理程序
if (process.Equals("assignQuestion"))
{
int measure = int.Parse(context.Request.QueryString["measure"]);
string ret = DBClasses.AssignToGroup.storeQuestionp(measure);
if (long.Parse(ret) == -1)
context.Response.Write("f");
else context.Response.Write(ret);
context.Response.Flush();
context.Response.End();
}
提前感谢!
为了防止生产数据损坏,我会在适当的列组合中添加一个唯一的约束,以确保不会出现重复。添加约束后,下次客户端操作尝试插入重复项时,它们将收到一个错误,这将有助于识别导致该错误发生的情况。