Поделиться через


Ответ сервера на открытые запросы к заблокированным файлам

Срок действия оппортунистической блокировки включает в себя три отдельных интервала времени. Во время каждого из них сервер определяет различными способами свою реакцию на запрос от клиента открыть файл, заблокированный другим клиентом. Как правило, вы можете свести к минимуму влияние приложения на другие клиенты и их влияние на приложение, предоставив как можно больше общего доступа, запросив минимальный необходимый уровень доступа и используя наименее навязчивую оппортунистическую блокировку, подходящую для вашего приложения.

Во-первых, это период после того, как сервер откроет файл для клиента, но до того, как он предоставит блокировку. В течение этого времени блокировка файла не существует, и сервер зависит от общего доступа, режимов доступа и типа запрашиваемой условной блокировки, чтобы определить его реакцию на другой запрос на открытие того же файла. Например, если вы открываете файл для доступа на запись, вы можете запретить предоставление оппортунистических блокировок, которые разрешают доступ к кэшированию чтения другим клиентам. Период времени до того, как сервер предоставит блокировку, обычно находится в диапазоне миллисекунда, но может быть больше.

После предоставления оппортунистической блокировки сервер проверяет блокировку, чтобы определить реакцию сервера на открытый запрос к заблокированному файлу. Опять же, способ открытия файла приложением и тип блокировки влияет на реакцию сервера. Дополнительные сведения о том, как сервер реагирует в каждом случае, см. в разделе Типы оппортунистических блокировок.

Наконец, есть диапазон после того, как сервер определяет, что блокировка должна быть нарушена (прекращена), но до того, как приложение завершит свою реакцию на перерыв. В зависимости от типа блокировки приложение может понизить уровень блокировки до более низкого уровня или вообще на нет. Приложение также может закрыть файл и блокировку. В течение этого времени сервер удерживает все запросы от других клиентов на открытие ранее заблокированного файла. Этот промежуток времени может варьироваться от миллисекунд до десятков секунд. Дополнительные сведения см. в разделе Нарушение оппортунистических блокировок.