Я занимаюсь разработкой веб-приложения asp.net mvc 3.В моем приложении у меня есть клиент JavaScript, отправляющий вызовы на мой сервер.Один из вызовов направлен на мой метод, который в свою очередь:
- Создает новый экземпляр объекта -
- Сохраняет его в базе данных
- Вызывает удаленный веб-сервер.
Я решаю, выходить ли из функции, запрашивая мою базу данных, чтобы узнать, действительно ли существует объект (если да, я выхожу).
Моя проблемав том случае, если два вызова выполняются только один за другим, у объекта не было возможности сохранить его в базе данных, и поэтому оба потока будут думать, что им нужно продолжить.
Что бы яНапример, заблокировать метод только для потоков, которые вызываются с одинаковыми параметрами.Использование блокировки всего метода или даже его частей недопустимо, так как это приведет к серьезным проблемам с производительностью.
Как это можно сделать?