У меня есть ac # web api, размещенный в iis, у которого есть метод post, который берет список идентификаторов документов для вставки в базу данных Lotus Notes.Метод post можно вызывать несколько раз, и я хочу предотвратить вставку дубликатов документов.
Это код (в статическом классе), который вызывается из сообщения:
lock (thisLock)
{
var id = "some unique id";
doc = vw.GetDocumentByKey(id, false);
if (doc == null)
{
NotesDocument docNew = db.CreateDocument();
//some more processing
docNew.Save(true, false, false);
}
}
Даже при установленной блокировке я сталкиваюсь со сценариями, в которых вставляются дубликаты документов.Это потому, что запрос может быть выполнен в новом процессе?Как лучше всего предотвратить это?