4

我正在拆分我目前拥有的现有工作应用程序,以便更好地理解 n 层结构。此应用程序使用带有表单身份验证的自定义成员资格和角色提供者。

目前所有的数据访问和业务逻辑都在同一个 ASP.Net 解决方案中。

我已经构建了一个业务逻辑层 (BLL) 和一个数据访问层 (DAL),并且我正在提取业务逻辑。我正在为 MembershipProvider 类应该存在的位置而苦苦挣扎。

  • 由于使用这些类的内置 UI 控件(登录、创建用户向导等)的紧密耦合,成员资格提供程序类是否必须驻留在表示层中?

  • 它们可以存在于 BLL 中吗?如果是这样,我如何从演示文稿中引用它们?一旦从 UI 中引用 BLL,是否只是将 web.config 更改为指向 BLL.membershipprovider 的问题?

只是在我走错路之前尝试寻找健全性检查。不幸的是,我无法通过谷歌找到任何这样的例子。任何帮助/指针表示赞赏。

4

2 回答 2

4

成员资格/提供者节点的 web.config 键确实允许您指定自定义类型,因此在该键中使用正确的命名空间和程序集引用,您可以将自定义成员资格对象放在您认为合适的任何位置。我建议为成员资格逻辑(从成员资格基类继承的对象)使用单独的 DLL,它为所有内部身份验证逻辑引用您的 BLL。

http://msdn.microsoft.com/en-us/library/aa479048.aspx

于 2009-08-24T20:56:13.007 回答
1

成员资格类可以存在于任何引用的程序集中。只需确保您完全限定了配置中的命名空间和类名。

于 2009-08-24T19:59:53.947 回答