C# 避免在上一次执行完成之前调用方法

C# 避免在上一次执行完成之前调用方法,c#,asp.net,C#,Asp.net,我使用Web服务将数据发布到外部数据库。 webservice通常需要大约2-6秒来完成执行。 在相同的方法中,我还将记录插入到自己的数据库中 现在,为了避免插入重复项,我在使用该方法之前检查记录是否已经存在于我自己的数据库中 但发生的情况是,Web服务有时会挂起几分钟,然后插入记录,当用户刷新浏览器,或在此时重新启动该方法时,我会在之后得到重复的记录 有谁能帮我解决一下如何避免数据库中的重复,因为这个方法通过刷新/重新加载/重新链接被调用了两次 是否可以使此方法对每个用户都是唯一的,以便我知道

我使用Web服务将数据发布到外部数据库。 webservice通常需要大约2-6秒来完成执行。 在相同的方法中,我还将记录插入到自己的数据库中

现在,为了避免插入重复项,我在使用该方法之前检查记录是否已经存在于我自己的数据库中

但发生的情况是,Web服务有时会挂起几分钟,然后插入记录,当用户刷新浏览器,或在此时重新启动该方法时,我会在之后得到重复的记录

有谁能帮我解决一下如何避免数据库中的重复,因为这个方法通过刷新/重新加载/重新链接被调用了两次


是否可以使此方法对每个用户都是唯一的,以便我知道它仍在执行/等待响应?

我将直接在数据库中而不是源中修复此问题。您可以很容易地设置一个数据库触发器,这取决于您的DBMS,比如MySQL,MSSQL作为INSERT语句

数据库触发器的一个好指南是:

与论坛网站不同,我们不会在网站上使用感谢、感谢帮助或签名。请参阅。您是否考虑过在数据库中添加唯一索引?关系数据库是为了解决并发问题而构建的,有时这是它们的主要优势。这样,您不必检查值是否存在,只需插入并失败即可。我知道唯一索引,但这并不能解决我的问题,因为我只创建新记录。