我在Azure中托管了一个ASP.NET Web应用程序。有趣的是,有时应用程序会在数据库中创建两条记录。
有人可以确认我下面有什么傻事吗? 存储库片段:
private SomeEntity entities = new SomeEntity ();
public void Add(SomeObject _someObject)
{
entities.EmployeeTimeClocks.AddObject(_someObject);
}
public void Save()
{
entities.SaveChanges();
}
创建代码段:
repo.Add(someObject);
repo.Save();
注意:我正在使用SQL Azure进行持久存储。
我有这个JQuery来显示加载,这可能会导致这个问题吗?
$('#ClockInOutBtn').click(function () {
jQuery('#Loading').showLoading(
{
'afterShow': function () { setTimeout("$('form').submit();", 2000) }
}
);
});
答案 0 :(得分:0)
服务器端代码看起来不错。
我认为这个问题很可能是在javascript /客户端层引起的 - 我猜你不知何时会发生两次表单提交。
要调试此功能,请尝试:
如果问题结果是客户端问题,那么您可以使用某种检查来解决此问题,以防止重复提交 - 根据您的应用程序的要求,可能值得在客户端和服务器上添加此检查。