介绍ASP.NET Provider

开发 后端
本文介绍ASP.NET Provider,微软已经提供了可直接使用的 Azure 版 ASP.NET Provider。包括 membership, role,profile,session state 4 种providers。

ASP.NET Providers 相信大家都已经非常熟悉,它为我们开发 ASP.NET 应用程序提供了方便。

比如在 Visual Studio 控件工具箱中的 Login 部分,就是基于 Membership provider、Session provider 和 Profile provider,大大地简化了我们在开发过程中处理与用户相关的功能。

ASP.NET Provider 架构示意图


ASP.NET Provider 架构示意图

ASP.NET Provider 的类结构图

ASP.NET Provider 的类结构图


Azure Provider 是什么

Azure 上的应用程序也是 ASP.NET 应用程序,所以它也支持 ASP.NET Provider 模型。不同的是,我们平时用的 Provider 是基于关系数据库的(如SQL Server),而“云端”上 Provider 自然也需要使用“云端”的数据解决方案——Windows Azure Storage。

云平台是基于分布式计算的。这就意味着,你的同一个应用程序可能会分布在不同的机器上。所以包括 Session 在内的各种用户数据不能放在 host 主机上,必须通过 Windows Azure Storage 来统一管理。

通过 Windows Azure Storage 来统一管理

微软认为:基于 Windows Azure Storage 的 provider 比传统SQL provider 具有以下优势:

在保持与 SQL provider 完全相同的使用方法(不用做任何代码修改)的基础上,

并行处理更强悍。
分页查询更方便。
计算能力更牛X。
运行更稳定。

Azure Provider 的原理

在 Windows Azure SDK(March 2009 CTP)中,微软已经提供了可直接使用的 Azure 版 ASP.NET Provider。包括 membership, role,profile,session state 4 种providers。

打开 Azure 版 ASP.NET Provider 项目,非常一目了然。以下的 4 个文件与 4 种 provider一一对应。

 4 种 provider

拿 TableStorageMembershipProvider 来说,它其实是继承了 MembershipProvider 类,override 了 MembershipProvider 类里与数据操作相关的方法,将它们换成使用 Windows Azure Table Storage 版本的。

public class TableStorageMembershipProvider : MembershipProvider配置使用 AzureProvider:

刚才说了,从传统的 SQL Provder 转换到使用 Azure Provider,不用做任何代码上的改动,只需要更改配置文件就可以了。

【编辑推荐】

  1. 浅析ASP.NET中配置文件
  2. .NET RIA Services就像ASP.NET那样方便
  3. ASP.NET AJAX Extensions中UpdatePanel控件概述
  4. ASP.NET调用UpdatePanel的Update()方法
  5. 浅谈ASP.NET AJAX的WCF服务
责任编辑:佚名 来源: IT专家网
相关推荐

2009-07-21 14:37:13

Profile Pro优化ASP.NET 2

2009-07-22 16:05:34

ASP.NET AJA

2009-07-29 17:23:17

ASP.NET表单

2009-08-19 09:23:40

ASP.NET Rou

2009-07-29 10:02:49

ASP.NET上传

2009-07-20 16:12:21

ASP.NET Fra

2009-07-29 09:14:36

ASP.NET网站

2009-07-27 17:00:29

ASP.NET主机

2009-09-10 14:02:08

LINQ ASP.NE

2009-07-23 14:17:41

2009-07-29 17:26:39

ASP.NET页面

2009-08-03 17:35:07

ASP.NET WebASP.NET编程工具

2009-07-29 10:35:51

ASP.NET缓存

2009-07-20 10:53:59

ASP.NET MVC

2009-08-05 15:57:03

ASP.NET控件ID

2009-08-05 10:36:08

开发ASP.NET

2009-07-29 09:53:24

ASP.NET异常管理

2009-07-21 15:11:14

ASP.NET Rou

2009-07-24 13:39:03

ASP.NET弹出窗口

2009-07-27 16:09:50

点赞
收藏

51CTO技术栈公众号