1

一段时间以来,我一直在使用 ASP.NET 构建网站。起初,我避免学习 ASP.NET 提供程序模型的复杂性。相反,我在必要时使用罐装提供程序,并严重依赖依赖注入框架来满足我的所有其他需求。

然而,最近,我一直在为 ASP.NET 编写可插入组件,当然也编写了许多基于自定义提供程序的解决方案以实现这一目标。然而,我很快就发现,很多初始化代码都被重复了,这是一件坏事。

所以...

  1. 是否有任何关于如何避免配置意大利面条代码的最佳实践?
  2. 您是否已构建或有任何示例(基础/帮助类、自定义属性、反射)来分享抽象基本初始化代码以便构建自定义提供程序更容易?

笔记:

请不要尝试将我发送到Provider Toolkit站点。我已经用尽了那个资源,这就是我转向 SO 社区的原因:)

4

1 回答 1

0

我只是粗略地实现了成员资格和角色提供者的相当基本的实现,而且我根本没有任何代码重复!

我将所有内容分为三个项目(加上测试):

  • 应用程序-asp.net mvc 应用程序。模型、控制器等
  • 基础设施 - IoC 和接口
  • Infrastructure.Web - 提供者

User 和 Role 的模型实现来自 Infrastructure 的接口,并且这些类在应用程序启动时注册到 IoC。然后,提供者要求 IoC 解决这些类并做到这一点。通过这种方式,我可以使用相同的提供程序向模型和用户界面添加内容。我注意到的一个问题是,“ASP.NET 配置”按钮启动的 Web 无法使用提供程序,因为设置是在 Application_Start 中完成的,而“ASP.NET 配置”是另一个 Web . 我不认为这是一个问题。

于 2009-08-22T20:46:42.100 回答