ProviderBase Class
Provides a base implementation for the extensible provider model.
System.Configuration.Provider.ProviderBase
System.Configuration.ProtectedConfigurationProvider
System.Configuration.SettingsProvider
System.Web.Caching.OutputCacheProvider
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
Assembly: System.Configuration (in System.Configuration.dll)
The ProviderBase type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | Description | Gets a brief, friendly description suitable for display in administrative tools or other user interfaces (UIs). |
![]() | Name | Gets the friendly name used to refer to the provider during configuration. |
| Name | Description | |
|---|---|---|
![]() | Equals(Object) | Determines whether the specified Object is equal to the current Object. (Inherited from Object.) |
![]() | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) |
![]() | GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | Initialize | Initializes the provider. |
![]() | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object.) |
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.
| Topic | Location |
|---|---|
| How to: Sample Role-Provider Implementation | Building ASP .NET Web Applications |
| How to: Sample Role-Provider Implementation | Building ASP .NET Web Applications |
For an example of how to use the ProviderBase class, see Profile Provider Implementation Example.
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
