我为一家公司写内部软件。
我总是想尽我所能地利用OOP技术。按照这种思路,我想创建一个隔离在自己的.DLL中的数据访问层(DAL)。
如何才能将DAL DLL的访问限制为仅限于我的业务逻辑层DLL?
我最不需要的就是公司里有一点编程知识的人,以及对系统的访问权限(通过Active Directory)来安装.NET Express,引用我的.DLL,并开始在实际系统之外启动数据访问代码。有没有什么.NET机制可以用来限制DLL只能由预先选定的主机应用程序/DLL使用?
发布于 2010-02-13 00:41:41
从代码的角度限制访问的最简单方法是使用友元程序集。您可以将数据访问层DLL中的所有类型设置为Friend / Internal。然后,只需添加您的业务逻辑层组件作为好友,他们就可以使用这些类型。公司中的其他人不会这样做,因为他们没有内部访问的DLL。
文档- http://msdn.microsoft.com/en-us/library/bb384772.aspx
发布于 2010-02-13 00:44:23
您可以通过LicenseProvider类利用内置到.NET中的应用程序许可框架。根据您的实现方式,拥有一个DLL将不足以使用库...他们还需要某种许可证文件,或者提供许可证密钥。Here is a good article on how to start using it。
https://stackoverflow.com/questions/2253401
复制相似问题