Файлы конфигурации для объектов GAC

Обычно мы сохраняем наши значения конфигурации в файле web.config/app.config, а глобальные переменные конфигурации среды (а не специфичные для приложения) — в файле server machine.config.

При развертывании объекта в GAC, где лучше всего хранить эти значения типа конфигурации? Кажется, что лучшим местом будет связанный файл ресурсов.

Есть ли у кого-нибудь опыт/рекомендации по этому подходу? (образец кода?)

Спасибо


person David    schedule 23.02.2009    source источник
comment
Я ищу решение для хранения переменных для каждого объекта GAC. Например, все пользователи этого объекта GAC X будут иметь доступ к этим переменным. (да, web.config и machine.config подходят), однако, если есть довольно много объектов gac, я вижу, что эти файлы конфигурации также становятся громоздкими.   -  person David    schedule 24.02.2009


Ответы (3)


если вам не нужна конкретная конфигурация для каждого приложения, использующего вашу dll, вы можете поместить конфигурацию в файл machine.config внутри папки фреймворка.

%systemRoot%/Windows/Microsoft.Net/Framework/[Версия]/Machine.config

person Oscar Cabrero    schedule 23.02.2009
comment
Как уже упоминалось, это вариант, но я ищу рекомендации по хранению переменных конфигурации, которые используют объект gac. Эти переменные не обязательно должны быть доступны для каждого приложения (веб-сайта) на сервере. - person David; 24.02.2009

Значения конфигурации должны быть в конфигурации приложения исполняемой сборки. Приложение несет ответственность за получение значений конфигурации, чтобы ваша сборка имела к ним доступ при загрузке в AppDomain.

person Andrew Hare    schedule 23.02.2009

В прошлом у меня были потребности в файлах конфигурации сборки (в отличие от выполнения файлов конфигурации сборки).

Для сборки в GAC возможно (но не рекомендуется) физически скопировать файл конфигурации в папку dll сборки.

Решение, которое я использовал для создания файла конфигурации, который можно использовать в сборках независимо от AppDomain, представляет собой простую запись реестра для моего приложения, которая определяет расположение общего файла конфигурации. Таким образом, любая сборка может получить параметры конфигурации из общего расположения, независимо от того, какая выполняющаяся сборка ее запустила. (особенно полезно для сценариев — иначе вам пришлось бы развернуть файл конфигурации с именем wscript.exe.config в папке windows\system32 — тьфу!)

person J Davis    schedule 23.02.2009