Как проверить и отключить блокировки и кэширование SMB при запуске приложения FoxPro - PullRequest
0 голосов
/ 22 сентября 2019

Я прочитал, что использование оппортунистической блокировки SMB и кэширования файлов приводит к повреждению данных в FoxPro.

Как проверить, отключены ли они, и отключить их при необходимости при запуске приложения с минимальными действиями пользователя?

Должно ли приложение VFP проверять ключи реестра, такие как

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters\Smb1
>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters\Smb2
>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters\EnableOplocks
>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MRXSmb\Parameters\OplocksDisabled
>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters\UseOpportunisticLocking
>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\parameters\DirectoryCacheLifetime
>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\parameters\FileInfoCacheLifetime
>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\parameters\FileNotFoundCacheLifetime

, или анализировать powershell Set-SmbClientConfiguration или вывод msinfo, или есть лучший способ?

Как установить их при запуске приложения?Если приложение требует доступа к реестру и записывает значения в реестр или вызывает powershell, например,

Set-SmbClientConfiguration -EnableMultiChannel $false
Set-SmbClientConfiguration -OplocksDisabled $True
Set-SmbClientConfiguration -UseOpportunisticLocking $False

, или сценарий powershell, например,

`$Name1 = “DirectoryCacheLifetime”
$Name2 = “FileInfoCacheLifetime”
$Name3 = “FileNotFoundCacheLifetime”
$value = “0”
New-ItemProperty -Path $registryPath -Name $name1 -Value $value -PropertyType DWORD -Force | Out-Null
New-ItemProperty -Path $registryPath -Name $name2 -Value $value -PropertyType DWORD -Force | Out-Null
New-ItemProperty -Path $registryPath -Name $name3 -Value $value -PropertyType DWORD -Force | Out-Null`

Использование Visual FoxPro 9, в основном в Windows 10

Ответьте в

Проблемы с сетью VFP в Windows 10 1803

, описанные как это сделать вручную, но я ищу автоматическое решение, которое требует минимального взаимодействия с пользователем.

...