Однако я знаю, что Оппортунистическая блокировка отключена, поскольку мы используем PeerLock от PeerSoftware.

таемся скопировать файл с сервера на локальный компьютер в приложении .NET 2.0 (C #), но по-прежнему блокируем исходный файл без необходимости. Мы подозреваем, что это что-то настроено на файловом сервере, что вызывает такое поведение, но не уверены, что ... вы можете помочь?

После операции копирования файла файловый сервер (Windows 2K3 R2) сообщает, что исходный файл удерживается с блокировкой чтения, даже если с файлом на сервере больше не выполняется никаких действий. Блокировка снимается после выхода из приложения.

Мы можем воспроизвести это поведение даже с помощью самого простого кода, приведенного ниже:

static void Main(string[] args)
{
    string sourceFile = @"\\win2K3server\resource\Production\IQE\sourceFolder\iqeconsole.exe";
    string destinationFile = @"d:\destinationFolder\iqeconsole.exe";
    System.IO.File.Copy(sourceFile,destinationFile,true);

    Console.ReadLine();
}

Блокировка происходит сразу во времяFile.Copy() выполнение строки и сохраняется после завершения этой строки. В более сложном приложении, когда рутина сFile.Copy() выходит (но приложение все еще работает), блокировка сохраняется.

Только после завершения всего приложения блокировка снимается.

измененияsourceFile использование подключенного диска вместо пути UNC не имеет значения для поведения.

Такое поведение не происходит, если исходный файл находится на другом сервере или находится локально.

Если мы добавим следующую строку послеFile.Copy, замок снимается немедленно:

new System.Security.Permissions.FileIOPermission(System.Security.Permissions.FileIOPermissionAccess.Read, new string[] { sourceFile }).Demand();

Все это звучит для нас так, как будто на сервере есть что-то, что вызывает такое поведение. У нас на сервере установлен ShadowProtect вместе с антивирусом McAfee. Кроме того, кажется, что больше ничего не установлено сверх Windows Server и его компонентов.

Мы также не уверены, почему требование разрешения на чтение файла решает проблему.

Если бы вы могли ответить на эти вопросы, мы были бы очень благодарны:

Что приводит к сохранению блокировок файлов?Почему требование разрешения на чтение решает проблему?

Ответы на вопрос(2)

Ваш ответ на вопрос