在我的网页中,当我添加记录时,某些记录会被添加多次。然后我发现同一个数据库调用被发送多次(在分析时)。不仅仅是那个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();
}
提前致谢!
最佳答案
为了防止生产数据损坏,我会向适当的列组合添加唯一约束,以确保不会发生重复。添加约束后,下次客户端操作尝试插入重复项时,他们将收到错误,这将有助于识别导致其发生的情况。
关于c# - 为什么同一存储过程调用会被多次触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9677329/