Ограничение доступа к DLL в.NET
Я пишу собственное программное обеспечение для компании.
Я всегда хочу использовать методы ООП как можно лучше. Исходя из этого, я хочу создать уровень доступа к данным (DAL), изолированный в своем собственном .DLL
,
Что я могу сделать, чтобы ограничить доступ к DAL DLL
только мой уровень бизнес-логики DLL
?
Последнее, что мне нужно, это кто-то в компании с небольшими знаниями в области программирования и доступом к системе (через Active Directory) для установки.NET Express. .DLL
и начать запускать код доступа к данным вне реальной системы. Существуют ли какие-либо механизмы.NET, которые я могу использовать для ограничения DLL
использоваться только предварительно выбранным хост-приложением /DLL?
2 ответа
Самый простой способ ограничить доступ с точки зрения кода - использовать дружественные сборки. Вы можете сделать все типы в вашей DLL уровня доступа к данным "Другим / Внутренним". Затем добавляйте только компоненты Business Logic Layer в друзья, и они смогут использовать типы. У кого-то еще в компании не будет, так как у них нет DLL с внутренним доступом.
Документация - http://msdn.microsoft.com/en-us/library/bb384772.aspx
Вероятно, вы могли бы использовать встроенную платформу Application Licensing в.NET, используя класс LicenseProvider. В зависимости от того, как вы это реализовали, наличия библиотеки DLL будет недостаточно, чтобы использовать вашу библиотеку... им также понадобится какой-нибудь файл лицензии или ключ лицензии. Вот хорошая статья о том, как начать его использовать.