ASP.NET状态管理之十(配置文件Profile)

在许多应用程序中,需要存储并使用对用户唯一的信息。用户访问站点时,您可以使用已存储的信息向用户显示 Web 应用程序的个性化版本。个性化应用程序需要大量的元素:必须使用唯一的用户标识符存储信息,能够在用户再次访问时识别用户,然后根据需要获取用户信息。若要简化应用程序,可以使用 ASP.NET 配置文件功能,该功能可为您执行所有上述任务。

ASP.NET 配置文件功能将信息与单个用户关联,并采用持久性的格式存储这些信息。通过配置文件,可以管理用户信息,而无需创建和维护自己的数据库。此外,通过使用可从应用程序中的任何位置访问的强类型 API,就可以借助 ASP.NET 配置文件功能使用相关的用户信息。

可以使用配置文件存储任何类型的对象。配置文件功能提供了一项通用存储功能,使您能够定义和维护几乎任何类型的数据,同时仍可用类型安全的方式使用数据。

ASP.NET 配置文件的工作方式

若要使用配置文件,首先应通过修改 ASP.NET Web 应用程序的配置文件来启用配置文件。要在配置中指定配置文件提供程序,该提供程序是执行存储和检索配置文件数据等低级任务的基础类。可以使用 .NET Framework 中包括的配置文件提供程序(会将配置文件数据存储在 SQL Server 中),也可以按照实现配置文件提供程序主题中描述的那样创建并使用自己的配置文件提供程序。可以指定连接到所选的数据库的 SqlProfileProvider 实例,也可以使用将配置文件数据存储在本地 Web 服务器上的默认 SqlProfileProvider 实例。

通过定义要维护其值的属性的列表,可以对配置文件功能进行配置。例如,您可能需要存储用户的邮政编码,以使您的应用程序可以提供特定于区域的信息,如天气预报等。在配置文件中,应定义一个名为 PostalCode 的配置文件属性。配置文件的 profile 节与如下所示类似:

<profile>
 <properties>
  <add name="PostalCode" />
 </properties>
</profile>

应用程序运行时,ASP.NET 会创建一个 ProfileCommon 类,该类是一个动态生成的类,从 ProfileBase 类继承而来。动态的 ProfileCommon 类包括根据在应用程序配置中指定的配置文件属性定义创建的属性。然后,会将此动态 ProfileCommon 类的实例设置为当前 HttpContext 的 Profile 属性的值,并且可在应用程序的页中使用。

在应用程序中,可以收集要存储的值,并将其赋值给已定义的配置文件属性。例如,应用程序的主页可能包含提示用户输入邮政编码的文本框。用户输入邮政编码时,可以设置 Profile 属性,以存储当前用户的值,如下面的示例所示:

Profile.PostalCode = txtPostalCode.Text;

为 Profile.PostalCode 设置值时,会自动为当前用户存储该值。无需编写任何代码确定当前用户的身份,也无需将值显式地存储于数据库中,该配置文件功能将为您执行这些任务。

如果要使用该值,可以采用与设置该值基本相同的方法获取该值。例如,下面的代码示例演示如何调用名为 GetWeatherInfo 的假设函数,从而将其传递给配置文件中存储的当前用户的邮政编码:

weatherInfo = GetWeatherInfo( Profile.PostalCode );

无需显式确定用户身份或执行任何数据库查找。只需从配置文件中获取属性值,便使 ASP.NET 可以执行必要的操作,从而标识当前用户并查找持久性配置文件存储区中的值。

具体参考

http://msdn.microsoft.com/en-us/library/ms379605.aspx

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索存储
, 文件
, 配置文件
, 应用程序
, 配置
, 属性
, 用户
, 用户配置
, 使用配置文件
, ASP.NET配置信息
应用程序配置
,以便于您获取更多的相关知识。

时间: 2024-10-31 04:09:16

ASP.NET状态管理之十(配置文件Profile)的相关文章

ASP.NET状态管理之十二(控件状态ControlState)

如果您在编写控件,可以将控件的状态信息存储在 ViewState 字典中,该字典是一个 StateBag 对象.开发人员将通过 ControlState 属性检索控件状态.您为 ViewState 属性指定键和值,Page 对象将对请求之间的状态信息进行序列化.要在您的控件中执行自定义状态处理,可重写 LoadViewState 和 SaveViewState 方法.在页开发人员禁用视图状态时,存储在此字典中的所有状态信息都会丢失.为弥补这一缺陷,在 ASP.NET 2.0 版中,您可以将关键状

ASP.NET状态管理之一(概括篇)

每次将网页发送到服务器时,都会创建网页类的一个新实例.在传统的Web编程中,这通常意味着在每一次往返行程中,与该页及该页上的控件相关联的所有信息都会丢失.例如,如果用户将信息输入到文本框,该信息将在从浏览器或客户端设备到服务器的往返行程中丢失. 状态管理是您对同一页或不同页的多个请求维护状态和页信息的过程.与所有基于 HTTP 的技术一样,Web 窗体页是无状态的,这意味着它们不自动指示序列中的请求是否全部来自相同的客户端,或者单个浏览器实例是否一直在查看页或站点.此外,到服务器的每一往返过程都

[Asp.Net]状态管理(Session、Application、Cache、Cookie 、Viewstate、隐藏域 、查询字符串)

原文:[Asp.Net]状态管理(Session.Application.Cache.Cookie .Viewstate.隐藏域 .查询字符串) Session:  1. 客户在服务器上第一次打开Asp.Net页面时,会话就开始了.当客户在20分钟之内没有访问服务器,会话结束,销毁session.(当然也可以在Web.config中设置缓存时间)可以在Global.aspx的Session_Start()事件处理程序中,可以初始化会话变量.在下面的实例中,名为mydata的会话状态被初始化为0:

ASP.NET状态管理之十三(总结)

状态管理是您对同一页或不同页的多个请求维护状态和页信息的过程.与所有基于 HTTP 的技术一样,Web 窗体页是无状态的,这意味着它们不自动指示序列中的请求是否全部来自相同的客户端,或者单个浏览器实例是否一直在查看页或站点.此外,到服务器的每一往返过程都将销毁并重新创建页:因此,如果超出了单个页的生命周期,页信息将不存在. ASP.NET 提供多种方式来在服务器往返过程之间维护状态.对这些状态管理选项的选择主要取决于您的应用程序,并且应基于以下条件: 需要存储的信息量有多大? 客户端是接受持久性

ASP.NET状态管理之七(其他物理数据存放媒体)

ASP.NET状态存储还可以存放在数据库,XML文件,文本文件,注册表中等等,物理数据存放媒体 数据库 首推ADO.NET XML 管理XML文档和流主要由System.Xml命名空间中类执行 文件 相关类在System.IO命名空间中 注册表操作由System.Win32命名空间中2个类执行

ASP.NET状态管理之九(会话Session)

ASP.NET 允许您使用会话状态保存每个活动的 Web 应用程序会话的值,会话状态是 HttpSessionState 类的一个实例. 会话状态与应用程序状态相似,不同的只是会话状态的范围限于当前的浏览器会话.如果有不同的用户在使用您的应用程序,则每个用户会话都将有一个不同的会话状态.此外,如果同一用户在退出后又返回到应用程序,第二个用户会话的会话状态也会与第一个不同. 会话状态采用键/值字典形式的结构来存储特定于会话的信息,这些信息需要在服务器往返行程之间及页请求之间进行维护. 可以使用会话

ASP.NET状态管理之八(应用程序Application)

ASP.NET 允许您使用应用程序状态来保存每个活动的 Web 应用程序的值,应用程序状态是 HttpApplicationState 类的一个实例. 应用程序状态是一种全局存储机制,可从 Web 应用程序中的所有页面访问.因此,应用程序状态可用于存储需要在服务器往返行程之间及页请求之间维护的信息. 应用程序状态存储在一个键/值字典中,在每次请求一个特定的 URL 期间就会创建这样一个字典.可以将特定于应用程序的信息添加到此结构以在页请求期间存储它. 一旦将应用程序特定的信息添加到应用程序状态中

ASP.Net状态管理

asp.net Asp.Net提供了四种状态类型:application,session,cookie,view. Application状态为应用程序提供了一个全局的状态.所有客户都可以使用该状态.从设计的角度来说,我们通常用Application来存储一些标准的数据.同时,我们在使用它时要注意避免性能的降低,存储的数据尽可能提供给客户只读的功能. 我们可以使用HttpApplication类的Application属性来访问Application状态,它返回一个HttpApplication

ASP.NET状态管理之十一(视图状态ViewState)

视图状态是 ASP.NET 页框架默认情况下用于保存往返过程之间的页和控件值的方法.当呈现页的 HTML 形式时,需要在回发过程中保留的页的当前状态和值将被序列化为 Base64 编码的字符串,并输出到视图状态的隐藏字段中. 视图状态是 ASP.NET 页中的储存库,可以存储需要在回发过程中保留的值.例如,您可以将信息存储在视图状态中,下次将页面发送到服务器时,将会在页加载事件过程中访问这些信息. 您可以使用页的 ViewState 属性(此属性公开一个字典对象)来访问视图状态信息.由于视图状态