Архитектура плагина ASP.NET, проблема с настройками - PullRequest
0 голосов
/ 13 июня 2010

Я хочу разделить бизнес-уровень (BLL) приложения asp.net на несколько компонентов.Каждый компонент представляет собой библиотеку классов .NET, которая скомпилирована как отдельная DLL.Эти компоненты должны иметь свои собственные файлы конфигурации.Например, «MyNameSpace.Users.dll» содержит классы о пользователях веб-сайта, и существует политика паролей, позволяющая проверить длину пароля не менее x символов.Когда веб-мастер редактирует файл конфигурации этой библиотеки DLL и устанавливает для x значение y, компонент (DLL) в будущем должен будет использовать новое значение (y), а пароли должны содержать не менее y символов.Я хочу, чтобы каждый компонент представлял собой отдельный проект, и скомпилировал их отдельно (а не помещал все проекты в решение в Visual Studio) и поместил библиотеки DLL этих библиотек в папку «Bin» моего приложения ASP.NET.

Возможно ли это?Где я должен положить эти файлы конфигурации?

Ответы [ 2 ]

1 голос
/ 26 октября 2010

Managed Extensibility Framework (MEF), выпущенная в .NET 4.0

http://mef.codeplex.com

0 голосов
/ 13 июня 2010

imho Это возможно, но не из коробки.

ASP.NET использует по умолчанию только один файл web.config в корневом веб-каталоге (и файлы .config компьютера выше, в иерархии).Но вы можете создавать провайдеры пользовательских настроек для каждой из ваших библиотек, которые читают значения из отдельных файлов .config.см. http://msdn.microsoft.com/en-us/library/ms228060.aspx Таким образом, вы создаете другой SettingsManager, предоставляющий настройки для частей приложения и считывая информацию из файлов.

Кроме того, вы можете использовать FilesystemWatcher для перезагрузки значений при редактировании дополнительных .configs.

...