Мы только что заметили, что больше не можем писать в реестр из обработчика C # http (.ashx).Я видел много постов здесь, но думаю, что я исчерпал каждый.Большая разница в том, что этот код работал годами, но сейчас выдает ошибку:
«Запрошенный доступ к реестру запрещен».
Что раньше работало:
regKey = Registry.LocalMachine.OpenSubKey(strPath,
RegistryKeyPermissionCheck.ReadWriteSubTree);
Я пробовал много других комбинаций с одинаковым результатом:
RegistryKey regKey = null;
RegistryRights rights = RegistryRights.FullControl;
regKey = thisKey.OpenSubKey(strPath, true);
regKey = thisKey.OpenSubKey(strPath, RegistryKeyPermissionCheck.ReadWriteSubTree);
regKey = thisKey.OpenSubKey(strPath, RegistryKeyPermissionCheck.ReadWriteSubTree, rights);
if (bit64)
{
regKey = RegistryKey
.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64)
.OpenSubKey(strPath, RegistryKeyPermissionCheck.ReadWriteSubTree, rights);
}
else
{
regKey = RegistryKey
.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32)
.OpenSubKey(strPath, RegistryKeyPermissionCheck.ReadWriteSubTree);
}
regKey = thisKey.OpenSubKey(strPath, RegistryKeyPermissionCheck.ReadWriteSubTree);
regKey = thisKey.OpenSubKey(strPath, RegistryKeyPermissionCheck.ReadWriteSubTree, rights);
Я также пробовалдобавление файла app.config:
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
Все сбой, как только он пытается открыть подраздел.Я даже настроил пул приложений для использования «Администратор», просто чтобы посмотреть, помогает ли это, а что нет.Что еще я могу попробовать или какую дополнительную информацию я могу предоставить?
РЕДАКТИРОВАТЬ # 1: Помните, что это веб-приложение.Наши настольные программы, использующие тот же код, по-прежнему работают нормально.Ошибка в OpenSubKey, и она не идет дальше, поэтому код «записи» не отображается.