4

我为一家公司编写内部软件。

我总是想尽可能地利用 OOP 技术。在这种想法中,我想创建一个独立于其自身的数据访问层 (DAL) .DLL

我可以做些什么来限制 DALDLL仅访问我的业务逻辑层DLL

我需要的最后一件事是公司中具有一点编程知识并且可以访问系统(通过 Active Directory)来安装 .NET Express、引用我的 .NET.DLL并开始在真实系统之外触发数据访问代码的人。是否有任何 .NET 机制可以用来限制 aDLL只能由预先选择的主机应用程序/DLL 使用?

4

2 回答 2

7

从代码角度限制访问的最简单方法是使用友元程序集。您可以将数据访问层 DLL 中的所有类型设为 Friend/Internal。然后只需将您的业务逻辑层组件添加为朋友,他们将能够使用这些类型。公司中的任何其他人都不会,因为他们没有具有内部访问权限的 DLL。

文档 - http://msdn.microsoft.com/en-us/library/bb384772.aspx

于 2010-02-12T16:41:40.783 回答
1

您可能可以使用 LicenseProvider 类来使用构建到 .NET 中的应用程序许可框架。根据您实现它的方式,拥有 DLL 不足以使用您的库......他们还需要某种许可证文件,或提供许可证密钥。 这是一篇关于如何开始使用它的好文章

于 2010-02-12T16:44:22.773 回答