I believe this aspect of the ASP.NET framework is very configuration driven.
For your last comment, what they mean is that instead of relying on the constructor injection (which comes up when the component is created), you can use the setter injection instead, for example:
public class BasicRoleProvider : RoleProvider { public BasicRoleProvider() { } [Inject] public IMyService { get; set; } }
It will automatically add an instance of your registered type to the property. Then you can make a call from your application:
public void Application_Start(object sender, EventArgs e) { var kernel =
Suppose that you registered your role provider in the config. Registering a provider this way still provides a lot of modularity, as the implementation and application of your provider are still very decoupled.
Matthew abbott
source share