第二个进程似乎使第一个进程崩溃(.net,c#)



在.net网络应用程序中,我有一个模块,代码如下:

protected void SaveButton_Click(object sender, EventArgs e)
{
   //..
   itemRepository.Create(store, validFrom);
   Item item = itemRepository.GetByStoreAndValidFrom(store, validFrom);
   //..
}

一个项目由存储库创建,然后从数据库中提取
有时,例如,如果用户很快点击两次按钮,就会出现以下情况:
此模块的两个程序过程(如果术语不正确,请更正!)开始时非常接近。创建了两个项目,第一个进程崩溃,因为数据库中有多个项目可用
有什么好方法可以解决这个问题吗?我曾想过在界面中添加一个javascript拦截器(以防止第二次点击按钮),但如果有提示,我会很感激。

禁用启动回发的控件将导致表单无法提交。

我在UI上解决这个问题的方法是添加另一个div,它将显示在web表单的顶部,以防止重复提交。带解决方案的原创文章在这里。

最新更新