Ограничение доступа к 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 будет недостаточно, чтобы использовать вашу библиотеку... им также понадобится какой-нибудь файл лицензии или ключ лицензии. Вот хорошая статья о том, как начать его использовать.

Другие вопросы по тегам