Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Настройка доступа сборки к реестру. 
:(
    Опции темы
HAL707
Дата 17.12.2007, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 109
Регистрация: 6.9.2007

Репутация: 1
Всего: 4



Всем привет.
В общем такая ситуация. Имеется класс, лежащий в отдельной сборке, в котором создается новая категория счетчика производительности:
Код

PerformanceCounterCategory.Create(...)

Для создания этой категории создаются записи в реестре (которые описывают эту категорию и её счетчики).
Проблема собственно в том, что это сборка используется в веб-сервисе, запущенном из под IIS и при попытке создания категории вылетает такой ерор:
Код

System.Security.SecurityException: Requested registry access is not allowed.
   at System.ThrowHelper.ThrowSecurityException(ExceptionResource resource)
   at Microsoft.Win32.RegistryKey.OpenSubKey(String name, Boolean writable)
 и т.д...


Собственно вопрос в том, как дать сборке права на запись в реестр. 

Пробовал так:
Код

[assembly: RegistryPermission(SecurityAction.RequestMinimum, All = "HKEY_LOCAL_MACHINE")]
//или
//[assembly: PerformanceCounterPermission(SecurityAction.RequestMinimum, PermissionAccess=PerformanceCounterPermissionAccess.Write)]

не помогает. Та же ошибка.

Если кто знает, как решить проблему, плиз поделитесь.
PM MAIL   Вверх
tol05
Дата 17.12.2007, 19:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1632
Регистрация: 21.12.2006
Где: Харьков

Репутация: 63
Всего: 170



попробуй
Код

[assembly: RegistryPermissionAttribute(SecurityAction.RequestMinimum, Unrestricted = true)]

у меня с ним этот пример получился.


--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
altarvic
Дата 18.12.2007, 07:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 2.3.2007

Репутация: 1
Всего: 1



Это CAS (Code access security) не дает писать в реестр.
Сама сборка не сможет повысить себе полномочия, если она запущена под урезанными правами (в случае вебсервиса это так). Задавайте ручками.
Администрирование - .NET Framework Configuration - Runtime Security Policy - Increase Assembly Trust

PM MAIL   Вверх
HAL707
Дата 18.12.2007, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 109
Регистрация: 6.9.2007

Репутация: 1
Всего: 4



tol05, не работает. altarvic наверное правильно сказал - не хватает прав.
Но к сожалению ручками их задавать в моем случае недопустимо.
PM MAIL   Вверх
tol05
Дата 18.12.2007, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1632
Регистрация: 21.12.2006
Где: Харьков

Репутация: 63
Всего: 170



Может подписать сборку и использовать AllowPartiallyTrustedCallersAttribute для ее вызова? Тогда у этой сборки будет больше прав.
...
P.S. Погуглил и нашел похожую тему


--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
HAL707
Дата 18.12.2007, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 109
Регистрация: 6.9.2007

Репутация: 1
Всего: 4



tol05, так конечно можно сделать. Но опять же проблема в том, что в моем случае нельзя ничего делать со сборкой, ни строгое имя назначать, ни прав явно нарулить.

Хотя наверное все таки какими-то другими способами права получить не получится ...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0440 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.