| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > Настройка доступа сборки к реестру. |
| Автор: HAL707 17.12.2007, 18:36 | ||||||
| Всем привет. В общем такая ситуация. Имеется класс, лежащий в отдельной сборке, в котором создается новая категория счетчика производительности:
Для создания этой категории создаются записи в реестре (которые описывают эту категорию и её счетчики). Проблема собственно в том, что это сборка используется в веб-сервисе, запущенном из под IIS и при попытке создания категории вылетает такой ерор:
Собственно вопрос в том, как дать сборке права на запись в реестр. Пробовал так:
не помогает. Та же ошибка. Если кто знает, как решить проблему, плиз поделитесь. |
| Автор: tol05 17.12.2007, 19:10 | ||
попробуй
у меня с ним http://msdn2.microsoft.com/en-us/library/microsoft.win32.registrykey.aspx получился. |
| Автор: altarvic 18.12.2007, 07:44 |
| Это CAS (Code access security) не дает писать в реестр. Сама сборка не сможет повысить себе полномочия, если она запущена под урезанными правами (в случае вебсервиса это так). Задавайте ручками. Администрирование - .NET Framework Configuration - Runtime Security Policy - Increase Assembly Trust |
| Автор: HAL707 18.12.2007, 12:51 |
| tol05, не работает. altarvic наверное правильно сказал - не хватает прав. Но к сожалению ручками их задавать в моем случае недопустимо. |
| Автор: tol05 18.12.2007, 13:10 |
| Может подписать сборку и использовать AllowPartiallyTrustedCallersAttribute для ее вызова? Тогда у этой сборки будет больше прав. ... P.S. Погуглил и нашел http://www.thescripts.com/forum/thread376376.html |
| Автор: HAL707 18.12.2007, 14:29 |
| tol05, так конечно можно сделать. Но опять же проблема в том, что в моем случае нельзя ничего делать со сборкой, ни строгое имя назначать, ни прав явно нарулить. Хотя наверное все таки какими-то другими способами права получить не получится ... |