many of the new features in ASP.NET 2.0 depend on communication between the Web application and a data store. In order to provide this access in a consistent fashion, ASP.NET 2.0 uses a set of providers. A provider is both a pattern and a point where developers can extend the ASP.NET 2.0 framework to meet specific data-store needs. For example, a developer can create a new provider to support the user identification system, or to store personalization data in an alternate data store.
most custom providers will interact with database backend systems. However, the programmer is free to implement the required provider methods and classes using any medium or algorithm, so long as it meets the model''s required interface specification.
the provider model defines a set of interfaces and hooks into the data persistence layer that provides storage and retrieval for specified requests. In this way the provider model acts as a programming specification that allows ASP.NET 2.0 to service unique client concerns.
asp.net 2.0 uses a wide variety of providers, including:
each type of provider acts independently of the other providers. You can therefore replace the profile provider without causing problems with the membership provider.
in the second section of this paper, you will find specific examples of how providers are used with several of the new ASP.NET 2.0 features.
in ASP.NET 1.x, you could develop an ASP.NET page in one of two ways. First, you could put your code directly inline with your ASP.NET tags. The code inline model is very similar to the coding model that was prevalent with classical ASP and other scripting languages. However, the code inline model has several problems, such as the intermixing of code and HTML. ASP.NET 1.0 introduced the code-behind model as a replacement. The code-behind model used an external class to house the code, while the ASPX page contained the HTML and ASP.NET tags. The code-behind model thus successfully separated code from content; however, it created some interesting inheri