在第一个结束之前拒绝接听电话

时间:2016-09-30 11:20:34

标签: c# asp.net asp.net-web-api locking

我正在使用C#和.NET Framework 4.6.1开发ASP.NET MVC Web Api 2.2应用程序。

我有一个带有关键代码的网络方法,如果它现在正在运行,我不想运行它。此代码将新数据插入到数据库中,如果有两个调用运行它,它会将相同的数据插入到数据库中,从而导致PK违例异常。

这是Web Api方法标志:

[HttpPut]
[Route("api/CodesManager/InsertNewCodes/{aggregationLevel}")]
public HttpResponseMessage InsertNewCodes(
    byte aggregationLevel)

在这个方法中,有一个调用另一个类方法,我试图用lock包围它但我不确定我是否锁定它,下一个调用将等待释放锁定或他们将被拒绝。

如何锁定此关键部分并拒绝来电,直到第一个结束?

0 个答案:

没有答案