Asp.net 提供程序模型
需要说明一下几点
1、什么是提供程序?
2、ASP.NET 4.5 中的提供程序
3、配置提供程序
有一下几种存储状态的方式
1、应用程序状态
2、会话状态
3、高速缓存状态
4、cookie
5、查询字符串
6、隐藏字段
7、视图状态
那么来解决第一种问题。
1、什么是提供程序:
允许对数据存储、进程等进行编程访问的对象。
Asp.net 中的会话状态默认是以InProc方式存储,即存储在运行Asp.net的进程中,在Asp.net中可以改变用于Session对象的提供程序,这会改变存储会话的位置。
提供存储会话信息的提供程序有:
InPoc;
StateServer;
SQLServer;
在InProc可以利用StateServer 把会话存储在一个进程中,而该进程与运行Asp.Net的进程是完全独立的。如果ASP.NET进程停止,这就会保护会话进程。
SQLServer 把会话存储到磁盘上,这个方法可以直接把会话状态存储到Sql Server数据库中。
在IIS上设置:


ASP.Net 中基础提供者程序模型的系统要求有较高级的状态管理,这些系统包括:
成员资格
角色管理
站点导航
个性化
健康监控Web事件
配置文件保护
要使用以上几种需要使用sql server 数据库,并注册数据库,数据库名(aspnetdb)默认的名字:
主要一点如何注册呢?
两种方式:第一种 找到virtual studio ,找到

我的机器是64位的。如图中所选择的,打开输入命令 : aspnet_regsql.exe 后会弹出一个配置向导,
图上表示1的是通过命令注册,这就是第二种方式,查询相关的命令如图中2表示的命令。
配置成功后就会在machine.config 添加相关的配置信息。
machine.config 的路径是:C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config;
如图:

这里需要注意一个问题,每个应用程序都有一个web.config.程序,修改链接数据时,要在web.config上修改。
现在开始解决第二个问题,Asp.net 4.5 中的提供程序
成员资格提供程序:
System.Web.Security.SqlMembershipProvider :使用成员资格程序链接Sql server和Sql server Express Edition;
System.Web.Security.ActiveDirectoryMembershipProvider: 使用成员资格系统链接Active Directory(Windows Server可用)
他们都继承了MembershipProvider基类。
https://blogs.msdn.microsoft.com/webdev/2013/08/19/accessing-the-asp-net-web-configuration-tool-in-visual-studio-2013/
Asp.net 提供程序模型的更多相关文章
- .NET/ASP.NETMVC 大型站点架构设计—迁移Model元数据设置项(自定义元数据提供程序)
阅读目录: 1.需求背景介绍(Model元数据设置项应该与View绑定而非ViewModel) 1.1.确定问题域范围(可以使用DSL管理问题域前提是锁定领域模型) 2.迁移ViewModel设置到外 ...
- Azure Redis 缓存的 ASP.NET 会话状态提供程序
Azure Redis Cache 提供了一个会话状态提供程序,你可以使用其在缓存中(而不是内存中或在 SQL Server 数据库中)存储会话状态.要使用缓存会话状态提供程序,先首先配置缓存,然后使 ...
- SimpleMembership,成员资格提供程序、 通用的提供者和新的 ASP.NET 4.5 Web 窗体和 ASP.NET MVC 4 模板
ASP.NET MVC 4 互联网模板中添加一些新的. 非常有用的功能,构建 SimpleMembership.这些更改将添加一些很有特色,像很多更简单. 可扩展会员 API 和 OAuth 的支持. ...
- Azure Redis Cache作为ASP.NET 缓存输出提供程序
前一篇文章<Azure Redis Cache作为ASP.NET Session状态提供程序 >我们已经知道如何将ASP.NET应用程序Session存储在Redis Cache中,这里我 ...
- Azure Redis Cache作为ASP.NET Session状态提供程序
从上一篇博客<使用Azure Redis Cache>我们已经可以创建并使用Redis Cache为我们服务了. 作为Web开发者,我们都知道Session状态默认是保存在内存中的,它的优 ...
- asp.net采用OLEDB方式导入Excel数据时提示:未在本地计算机上注册"Microsoft.Jet.OLEDB.4.0" 提供程序"
笔者在项目中做做了一个从Excel表格中导入数据的模块.大体上asp.net项目中导入Excel大体分成三类: 1)采用c#内置方案System.Data.OleDb(限制较小, 通用) 2)采用Ex ...
- 简述在ADO中使用接口的抽象数据提供程序以及ADO.NET数据提供程序工厂模型
如何在ADO中使用接口的抽象数据提供程序 在cofig中 appSettings下,配置数据连接类型 <appSettings> <!--这个键值映射到枚举值中的某个值--> ...
- ASP.NET Core 使用外部登陆提供程序登陆的流程,以及身份认证的流程 (转载)
阅读目录 在Asp.Net Core 中使用外部登陆(google.微博...) 中间件管道 The Authentication Middleware The Challenge 与认证中间件进行交 ...
- asp.net运行时错误:没有为扩展名".cshtml"注册的提供程序。
解决方法: 一. 在machine.config或web.config中的<compilation><buildProviders>节注册一个.请确保所注册的提供程序具有包含 ...
随机推荐
- linux实用指令---持续更新
awk '!a[$0]++' a > b 删除重复行 ldd 判断某条命令需要哪些共享库文件的支持 --------------- ]$ ldd a.out ...
- Case when 的用法,简单Case函数
Case when 的用法,简单Case函数 简单CASE表达式,使用表达式确定返回值. 语法: CASE search_expression WHEN expression1 THEN result ...
- uva 10129 poj 1386 hdu 1116 zoj 2016 play on words
//本来是想练一下欧拉回路的,结果紫书上那题是大水题!!!!! 题意:给出n个单词,是否可以把单词排列成每个单词的第一个字母和上一个单词的最后一个字母相同 解:欧拉通路存在=底图联通+初度!=入度的点 ...
- libvirt python binding 变成了一个新项目
http://libvirt.org/git/ $ git clone git://libvirt.org/libvirt-python.git 2013年的事情了. $ git show a7a12 ...
- oracle sql命令行中上下左右使用
yum -y install readline,rlwrap
- zoj2729 Sum Up(模拟)
Sum Up Time Limit: 2 Seconds Memory Limit: 65536 KB Vivid has stored a piece of private informa ...
- IOS开发:xcode5版本引发的问题
下面这段代码是用于处理ios7头部透明问题的 #if __IPHONE_OS_VERSION_MAX_ALLOWED >= 70000 if ( IOS7_OR_LATER ) { self.e ...
- android-supporting-multiple-devices
There are a few common questions asked whenever development begins on a new Android app. What assets ...
- oracle表设置主键自增长
create or replace table TBL_SYS_USER ( user_id NUMBER(19) not null, user_name ...
- JavaScript之面向对象学习四原型对象的动态性
1.由于在原型中查找值的过程是一次搜索,因此我们对原型对象所做的任何修改都能够立即从实例上反映出来---即便是先创建了实例后修改原型也是如此.代码如下: function Person(){ } va ...