Asp.net 中Profile的配置及使用

使用ASP.NET 2.0 Profile存储用户信息 许多ASP.NET应用程序需要跨访问的用户属性跟踪功能,在ASP.NET1.1中,我们只能人工实现这一功能。但如今,使用 ASP.NET 2.0的Profile对象,这个过程变得异常简单。Stephen Walther将验证该对象,并向你展示如何使用Profile来跟踪用户属性、创建一个购物篮,及其他一些例子。 立即下载

  Asp.Net中有一套与用户相关联的属性设置,可以通过在WebConfig里配置来直接使用,他的作用为

存储和使用唯一与用户对应的信息 展现个人化版本的Web应用程序 用户的唯一身份标识在再次访问时识别用户 Asp.Net Profile提供的跟用户相关的类型都是强类型

首先生成数据库脚本,使用Visual Studio 2005 命令提示,输入命令行aspnet_regsql -A p -sqlexportonly filename

-A:表明增加一个数据库 p:表明生成的是Profile的数据库 -sqlexportonly:表明是倒出sql脚本,用其他参数可以直接创建数据库,具体的说明可以参看aspnet_regsql的帮助说明 filename:保存的文件名 现在数据库创建好了,里面有4张表aspnet_Application用来存储应用程序的相关类型,aspnet_Profile用来保存用户的属性信息,aspnet_SchemaVersion用来存储版本信息,aspnet_User用来保存用户信息。可以从这几张表可以看到,多个应用程序可以用同一个数据库来表示用户信息。

更多命令请参看:http://blog.youkuaiyun.com/dezwen/archive/2007/07/25/1708060.aspx (这个一定要配,否则,会出现VS2005无法远程连接或是找不到……存储过程之类的错误提示,页面无法正常运行)

下面是如何来配置WebConfig来支持Profile

首先配置连接字符串

  

然后在system.web节点下添加profile节点

  

详细说明一下。automaticSaveEnalbed="true",表明用户在提交数据之后,自动保存用户属性。properties节点下面就是用户需要配置的自己的用户属性,group表明这是一个组,相当与这个属性是一个对象,他保存其他的信息。在每个属性后面都有一个允许匿名用户访问的属性,这个是默认选项,可以不用输入。有时候配置了系统报需要使用匿名授权模式,那么在system.web节点下添加就可以解决这个问题。

下面是使用Asp.Net的Profile属性,不涉及到Ajax。

首先让用户登陆,那么我们需要让系统记录这个用户,并把他设置为登陆状态。

FormsAuthentication.SetAuthCookie(this.txtUserName.Text, false); 第二个参数表明是否跨浏览器保持会话状态,退出登陆使用

FormsAuthentication.SignOut(); 下面是读取Profile

 

我们首先判断Profile里面的Age属性是否为0,其实可以判断任何一个属性。然后将Profile里面的属性给一一赋值到显示属性上。如果碰到了group节点上的属性,可以象使用对象里的属性一样使用。

然后是保存Profile

 

 

可以看到上面这段代码我们没有显视的保存Profile,当一个Profile的属性改变时,提交到服务器,Profile的属性会自动保存到数据库。碰到group节点的使用方法也一样。

这就是简单的Profile的在Asp.Net里面的应用。

下面我们来看看在Asp.Net Ajax里面怎么使用Profile。首先我们在system.web.extensions节点下的scripting节点下的webServices节点下添加一个节点

 

 

 

 

readAccessProperties时允许读取的Profile属性。writeAccessProperties时允许写入的Profile属性

然后我们在页面上需要添加一个ScriptManager

 

 

 

LoadProperties表明预加载的Profile的属性。

首先时读取Profile的属性

 

 

 

Sys.Services.ProfileService.load的方法详细说明如下

Sys.Services.ProfileService.load( propertyNames, //需要加载的Profile名,null表示全取 loadCompletedCallback, //加载成功的回调函数 failedCallback, //加载失败的回调函数 userContext// 可以随意指定的上下文对象 );

读取完成之后

 

 

Sys.Service.ProfileService.properties存储的就是Profile里面的属性,可以直接使用Name、Age等属性。loadCompleted是存在参数的,这里我们只是省略了。

function loadCompletedCallback( number, // 本次加载的Profile数量 userContext, // 用户随意指定的上下文对象 methodName//即"Sys.Services.ProfileService.load" )

读取失败的回调函数

function failedCallback( error, // 错误对象 userContext, // 用户随意指定的上下文对象 methodName//即"Sys.Services.ProfileService.load" )

然后就是保存Profile的属性

 

 

碰到象Address这样的group标签标明的属性可以使用JSon字符串来设置,并且使用properties.save方法来转换城Address的属性

properites.Address = {City : “Shanghai”, Street: “People Square”, PostalCode: “20002”}; properties.save(…); 注意,就算在webconfig里设置了自动保存的属性,在ajax里面也不会自动保存,需要调用Sys.Services.ProfileService.save方法进行保存。save方法的完整签名如下

Sys.Services.ProfileService.save( propertyNames, //需要保存的Profile名,null表示全取 saveCompletedCallback, //保存成功的回调函数 failedCallback, //加载失败的回调函数 userContext// 可以随意指定的上下文对象 );

保存成功的回调函数的完整签名

function saveCompletedCallback( number, // 本次保存的Profile数量 userContext, // 用户随意指定的上下文对象 methodName//即“Sys.Services.ProfileService.save” )

保存失败的回调函数的完整签名

function failedCallback( error, // 错误对象 userContext, // 用户随意指定的上下文对象 methodName//即"Sys.Services.ProfileService.save" )

ProfileService的其他属性

get_timeout()/set_timeout(time):设置或得到超时时间 defaultLoadCompletedCallback:默认读取完成属性,指定一个函数地址,函数签名与loadCompletedCallback类似 defaultSaveCompletedCallback:默认保存完成属性,指定一个函数地址,函数签名与saveCompletedCallback类似 defaultFailedCallback:默认读取或保存失败属性,指定一个函数地址,函数签名与failedCallback类似

asp.net profile asp.net profile使用 源码 立即下载

相关推荐

asp.net profile实现的购物车

asp.net profile实现的购物车,支持匿名购物,用户登录后可把匿名用户的购物迁移到实名用户的购物车中。并实现购物车持久化。

Altium Designer操作技巧(1)——原理图中如何批量替换元器件?

《AltiumDesigner批量替换元器件技巧分享》摘要:本文介绍了两种在AltiumDesigner中批量替换元器件的实用方法。方法一通过“查找相似对象”功能,可精准匹配并批量修改器件参数;方法二利用ActiveBOM功能,在BOM表中直观操作器件替换,推荐使用第二种方法可使BOM管理更高效。这些技巧能有效减少物料种类、降低贴装成本,特别适用于电阻电容等常用器件的批量替换。关注公众号获取更多电子设计技巧。

u012526819的博客 2582

asp.net 2.0中的profile

connectStrings> clear/> add name="MyConnect" connectionstring="data source=(local);integrated security="SSPI"; initial Catalog="aspnetdb"/>connectStrings>profile是使用存储用户信息的,那么它和其他的状态管理(view state,ses

专栏 878

TwinCAT3入门教程3——PLC程序变量定义和硬件IO关联

目录 1、IO输入输出变量定义和硬件关联 1.1 IO输入 1.2 IO输出 1.3 PLC变量和IO模块关联 1.4 测试IO输出点 2、伺服变量关联 1、IO输入输出变量定义和硬件关联 1.1 IO输入 添加全局变量IO_Global 变量定义 (*==========================================IO输入===============================================================*)

panjinliang066333的博客 1万+

Linux Component概述和高通component的使用

为了让subsystem按照一定顺序初始化设备才提出来的。subsystem中由很多设备模块,内核加载这些模块的时间不确定。子系统内有些模块是需要依赖其它模块先初始化才能进行自己初始化工作(例如v4l2 subdev和v4l2 video device),这时就要用到component框架。例如v4l2 subdev和v4l2 video device中,谁依赖谁先创建?

lz_1990的专栏 1610

ASP.NET 2.0个性化配置(profile)

为每个用户存储配置信息强类型 长期保存  支持匿名用户定义配置(profile) <?xml version="1.0"?><configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">    <appSettings/>    <connectionStrings&...

weixin_33725270的博客 217

手把手教你用VSCode+SDL在Ubuntu上跑LVGL8.2模拟器(附插件清单)

本文详细介绍了在Ubuntu系统上使用VSCode和SDL库搭建LVGL8.2模拟器环境的完整流程,特别适合嵌入式开发者(如全志F1C100s平台)进行UI设计验证。从环境配置、项目编译到VSCode深度集成,提供了实用技巧和常见问题解决方案,帮助开发者实现'先模拟后真机'的高效开发模式。

weixin_33737134的博客 358

定义和使用ASP.NET Profile(附例)

1、双击一个数据源控件,将要存储profile的数据库作为数据源加入控件(这个步骤没什么用,只是为了方便大家用控件建立连接,这样不容易出错),建立好之后将design页面的数据源控件删除,你会发现在web.config里还是有一条连接语句,不要删除,我们下面将用到它,如:    2、定义Profile,在源码中加入                               //d

大头 822

Windows2008使用-解决漏洞-CVE-2010-2730

随着硬件的升级,操作系统也逐渐进行了版本更新。目前阶段,Windows2016Server、Windows2022Server逐渐成为了以Windows系列的服务器平台系统。对于有些应用而言,由于其业务的固定,可能仍只能运行在Windows2008Server或者Windows2012Server上。有时候我们为安全需要,需要将相关的操作系统涉及的漏洞做修复。最近碰到在一个Windows2008R2 的操作系统漏洞CVE-2010-2730,一顿操作,终于找到了合适的方案,这里分享给大家。

mystonelxj的博客 2314

世界职业院校技能大赛商贸赛道项目参考逐字稿一

商贸赛道“智选优品”—基于大数据与AI驱动的跨境电商平台项目参考逐字稿您订阅本专栏后即可`永久享有所有文章的查阅权`,希望我们更新的参考资料能帮助到您。如果您需要我们团队赋能培训可联系我(企业一线工程师及国一获奖选手在线培训支持:每周直播精讲(可回放,支持弹幕答疑)、代码Review+技术售后(拉群随时问,12h内响应)、④路演PPT+答辩话术一对一点评,评委视角提前彩排、适合:中职/高职赛项选手、指导老师带队、校企工作室、整校打包另谈(可开发票))

我是网络安全兼技能大赛工程师,专注网络安全技术学习与技能大赛实战!持续分享最新的技术文章,帮你少走弯路,一起在技术赛道上进步~ 1587

Asp.Net Ajax 学习笔记15 如何使用ASP.NET Profile

Asp.Net中有一套与用户相关联的属性设置,可以通过在WebConfig里配置来直接使用,他的作用为 存储和使用唯一与用户对应的信息 展现个人化版本的Web应用程序 用户的唯一身份标识在再次访问时识别用户 Asp.Net Profile提供的跟用户相关的类型都是强类型首先生成数据库脚本,使用Visual Studio 2005 命令提示,输入命令

Lawrence的专栏 1120

【Ranger】mac下Apache Ranger编译安装

a、编译过程中出现测试用例不通过和文件认证错误错误:带上参数-DskipTests=true -Drat.skip=true 重新编译;b、若编译过程中出现缺少jar包的情况,可能下载不了,需要手动自动添加;c、编译所需的其他工具如maven等安装配置略。采用这个会报错,因此我才用了下面一个命令。初始化设置Ranger Admin:执行。然后进入target目录。

九师兄 2104

ASP.NET用户个性化设置Profile——配置1 (转)

ASP.NET 2.0除了提供了Membership身份验证机制之外,还提供了一种用户个性化设置的机制,称为Profile。Profile可以和Membership结合起来,存储用户自定义数据。在Profile中可以存储各种类型的数据,包括最基本的int、double类型,也可以是复杂的用户自定义类型,比如购物车、用户信息等。   Profile和Session类似,都是用来存储用户...

anku0825的博客 183

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

ASP.NET用户个性化设置Profile——配置1

ASP.NET用户个性化设置Profile——配置1 转载出自:http://www.cnblogs.com/xlb2000/archive/2010/08/06/1791903.html   ASP.NET 2.0除了提供了Membership身份验证机制之外,还提供了一种用户个性化设置的机制,称为Profile。Profile可以和 Membership结合起来...

weixin_33720956的博客 154

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

ASP.NET 2.0个性化配置--Profile

ASP.NET 2.0个性化配置(profile)   为每个用户存储配置信息 强类型 长期保存  支持匿名用户 定义配置(profile) xml version="1.0"?> configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">     appSettings/>     c

wangkaiming123456的专栏 526

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

ASP.NET2.0特性之Profile个性化配置

ASP.NET 2.0个性化配置(profile)  为每个用户存储配置信息强类型 长期保存 支持匿名用户定义配置(profile)                                             //定义配置(profile)                                                                  

We Love MengMeng! 795
上一篇: ASP.NET专题研究——角色和Profile
下一篇: JS $符号
汶津
博客等级 码龄20年 13粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值