ProviderBase Class Home
This page is specific to:.NET Framework Version:2.03.03.54.0
.NET Framework Class Library
ProviderBase Class

Provides a base implementation for the extensible provider model.

Namespace:  System.Configuration.Provider
Assembly:  System.Configuration (in System.Configuration.dll)
Syntax

'Usage

Dim instance As ProviderBase

'Declaration

Public MustInherit Class ProviderBase
Remarks

The provider model is intended to encapsulate all or part of the functionality of multiple ASP.NET features, such as membership, profiles, and protected configuration. It allows the developer to create supporting classes that provide multiple implementations of the encapsulated functionality. In addition, developers can write new features using the provider model. This can be an effective way to support multiple implementations of a feature's functionality without duplicating the feature code or recoding the application layer if the implementation method needs to be changed.

The ProviderBase class is simple, containing only a few basic methods and properties that are common to all providers. Feature-specific providers (such as MembershipProvider) inherit from ProviderBase and establish the necessary methods and properties that the implementation-specific providers for that feature must support. Implementation-specific providers (such as SqlMembershipProvider) inherit in turn from a feature-specific provider (in this case, MembershipProvider).

The most important aspect of the provider model is that the implementation (for example, whether data is persisted as a text file or in a database) is abstracted from the application code. The type of the implementation-specific provider for the given feature is designated in a configuration file. The feature-level provider then reads in the type from the configuration file and acts as a factory to the feature code. The application developer can then use the feature classes in the application code. The implementation type can be swapped out in the configuration file, eliminating the need to rewrite the code to accommodate the different implementation methodology.

The providers included with ASP.NET are mostly abstractions of data persistence implementations for features like profiles or membership. However, this model can be applied to any other kind of feature functionality that could be abstracted and implemented in multiple ways.

TopicLocation
How to: Sample Role-Provider ImplementationBuilding ASP .NET Web Applications
How to: Sample Role-Provider ImplementationBuilding ASP .NET Web Applications
How to: Sample Role-Provider ImplementationBuilding ASP .NET Web Applications in Visual Studio
How to: Sample Role-Provider ImplementationBuilding ASP .NET Web Applications in Visual Studio
Examples

For an example of how to use the ProviderBase class, see Profile Provider Implementation Example.

Inheritance Hierarchy

System..::.Object
  System.Configuration.Provider..::.ProviderBase
    System.Configuration..::.ProtectedConfigurationProvider
    System.Configuration..::.SettingsProvider
    System.Web.Management..::.WebEventProvider
    System.Web.Security..::.MembershipProvider
    System.Web.Security..::.RoleProvider
    System.Web.SessionState..::.SessionStateStoreProviderBase
    System.Web..::.SiteMapProvider
    System.Web.UI.WebControls.WebParts..::.PersonalizationProvider
Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Platforms

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Version Information

.NET Framework

Supported in: 3.5, 3.0, 2.0
See Also

Reference

Other Resources

© 2009 Microsoft Corporation. All rights reserved.   Terms of Use | Trademarks | Privacy Statement
Page view tracker
Rate the Lightweight library
x
Lightweight builds on ScriptFree (loband) by adding features you've requested: a SearchBox and default code language selection.
Do you like the SearchBox?
Do you like the tabbed code blocks?
How useful is this topic?
Tell us more.
Thanks
x
You're helping to improve MSDN Online.
Feedback
Switch View
Classic
Lightweight Beta
ScriptFree
Switch View