Я прочитал, что использование оппортунистической блокировки 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
, описанные как это сделать вручную, но я ищу автоматическое решение, которое требует минимального взаимодействия с пользователем.