ASP.NET 2.0 个性化用户配置

个性化用户配置 一,profile配置节1,个性化功能简介a、大多数用户以匿名形式访问WEB站点时,希望实现诸如内容定制,布局调用等功能;b、ASP.NET 2.0技术提供了一个个性化服务解决技术框架。该框架主要包括3项核心功能:个性化用户配置,Web部件,成员和角色管理c、个性化服务分为三大步骤:a1,识别用户身份;a2,提供个性化服务体验;a3,存储用户信息。2,profile配置节设置<profile... 阅读详情
转载自  szchung
最终编辑  suizhikuo

一、数据库配置

     默认情况下,第一次执行与用户配置功能有关的应用程序时,系统将自动为该应用程序创建一个SQL Server 2005 Express的特定数据库实例,位于App_Data下的ASPNETDB.MDF。当然我们可以使用微软其它的数据库,例如SQL Server 2000,7.0。而这就需要用到aspnet_regsql命令了,该命令会在你配置的数据库中创建一个名为aspnetdb的数据库实例,并使用该数 据库存储用户配置信息。MSDN上这样描述:ASP.NET SQL Server 注册工具用于创建供 ASP.NET 中的 SQL Server 提供程序使用的 Microsoft SQL Server 数据库,或者用于在现有数据库中添加或移除选项。Aspnet_regsql.exe 文件位于 Web 服务器上的 [drive:]\WINDOWS\Microsoft.NET\Framework\versionNumber 文件夹中。aspnet_regsql有两种配置方法,一是通过命令行传递参数的形式,二是使用向导。

1)带有参数的aspnet_regsql

-总的信息和功能

  • -W 是Wizard方式,也就是图形界面的方式。
  • -C 连接字符串,-如果已经安装了SQL Server可以使用这个参数,连接数据库
  • -S 服务器名, -可以是数据库的名字或是实例的名
  • -U 用户名,-登录数据库的用户名,一般会使用这个用户建立数据库表或数据库脚本。
  • -P 密码,-登录数据库的密码。一般-U 和-P总是一起出现
  • -E , 无任何参数,这标识你将使用当前的Windows用户作为连接数据库的用户。
  • -d 数据库名, 使用这个参数制定相应的数据库名,如果没有指定则会默认使用'aspnetdb"的数据库
  • -sqlexportonly 文件名,参数为要保存的文件名,参数标识只产生数据库的脚本和配置脚本,而不进行任何的操作。
  • -A all|m|r|p|c|w ,-A 表示允许或打开某个功能,m表示membership功能,r 表示Role 管理功能,p表示Profile功能,c表示Web Parts 个性化功能,w表示 Web 事件,all表示打开/可用上面所有的全部功能
  • -R all|m|r|p|c|w -R 表示移除或禁止某个功能,m表示membership功能,r 表示Role 管理功能,p表示Profile功能,c表示Web Parts 个性化功能,w表示 Web 事件,all表示禁止/关闭上面所有的全部功能

比如: aspnet_regsql.exe –A p –E

(-A p表示在数据库中添加支持用户配置功能的数据表、储存过程等对象;-E表示使用Windows集成验证方式登录数据库。执行以上代码,将会在SQL Server2000/7。0中创建一个aspnetdb数据库实例,当然你可以用-d参数使用你已经定义好了的数据库实例,在该实例中创建了4个表,他 们是aspnet_Applications、aspnet_Profile、aspnet_SchemaVersions、aspnet_Users)

--Session State 特性

  • -ssadd ,打开/可用SQL Server 模式的Session State方式
  • -ssremove ,关闭/移除SQL Server 模式的Session State方式
  • -sstype t|p|c ,指定具体的方式,t 表示Session State的数据和状态将放在SQL Server的'tempdb"数据库中,管理脚本和存储过程会保留在“ASPState”的数据库中,如果机器启动,则Session State会不被保存,这也是默认的设置。p表示,Session State的数据和状态以及相关的存储过程都将放在SQL Server的'ASPState"数据库中;c表示,Session State的数据和状态以及相关的存储过程都将放在由-d 参数指定的SQL Server的数据库

比如:aspnet_regsql -S localhost -U sa -P wrox -ssadd -sstype p

--SQL Cache Dependency 特性

  • -ed ,没有参数表示,可用/打开SQL Cache Dependency 特性
  • -dd,没有参数,表示关闭/禁止SQL Cache Dependency 特性
  • -et,没有参数,但必须跟-t 参数,表示那个表打开/可以使用SQL Cache Dependency 特性
  • -dt, 没有参数,但必须跟-t 参数,表示禁止/关闭某个表的SQL Cache Dependency 特性
  • -t 表名,一个数据库的表名,必须和-et 或-dt一起使用
  • -lt ,没有参数,将查询数据库,列出所有使用QL Cache Dependency 特性的数据库表

比如: aspnet_regsql.exe -S localhost -U sa -P password -d Northwind -t Products –et

--------------------------

使用Visual Studio 2005创建了一个本地文件系统的网站,目录为F:\codes\Site\。并且,在App_Data目录下,新建了一个SQL Express的实例——MyDB.mdf

现在,使用aspnet_regsql工具向MyDB中注册MemberShip相关的脚本。

尝试直接启用aspnet_regsql的图形界面,没有办法访问到SQL Express的实例MyDB.mdf

但可以使用这样的命令完成此工作:

aspnet_regsql -A all -C "Data Source=.\SQLEXPRESS;Integrated Security=True;User Instance=True" -d "F:\codes\Site\App_Data\MyDB.mdf"

--------------------------

2)使用向导方式

在命令行输入aspnet_regsql,将显示一个向导窗口,一路下去,比较简单就能完成相应的配置。这些配置不仅将支持本文所要重点讨论的用户配置,而且还支持成员资格、角色管理、Web部件个性化、Web事件等在内的多个功能特征。

这里需要注意的是第三步,选择服务器和数据库。如果选的是“创建默认数据库”。那么在随后的执行过程中,将新建一个数据库实例aspnetdb.。

二、修改配置文件

      上文说过,配置文件中默认是用SQL Server 2005 Express,这里我们打算把应用服务的这些功能迁移到2000/7.0数据库中。也有两个方法,一个方法是修改machine.config,另一个方法是修改web.config.

1)修改machine.config

     默认情况下,machine.config位于[drive:]\WINDOWS\Microsoft.NET\Framework\versionNumber\config 文件夹中.下面是未修改的部分节点:

<?xml version="1.0" encoding="UTF-8"?>

<configuartion>

.....

  <connectionStrings>
<add n a m e="LocalSqlServer" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" />
</connectionStrings>

.....

    <profile>
<providers>
<add n a m e="AspNetSqlProfileProvider" connectionStringName="LocalSqlServer" applicationName="/" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</profile>

.....

</configuration>

    上面的n a m e中间是没空格的,网易blog竟然对内容进行了过滤,无奈只好如此写了,在此表示批评和抗议,希望技术人员能够予以改进,毕竟法律赋予了我们言论自由的权利!

    注意:这里包含了一个名为LocalSqlServer的连接字符串,默认使用的数据库服务器是SQL Server2005 Express,所使用的数据库实例是aspnetdb.mdf;同时,默认使用的用户配置提供程序是 System.Web.Profile.SqlProfileProvider,其使用了LocalSqlServer连接字符串。 machine.config文件中很多配置使用了LocalSqlServer连接字符串。我们要改的重点就在LocalSqlServer上了,修改 如下:

.....

  <connectionStrings>
<add n a m e="LocalSqlServer" connectionString="Server=localhost;Database=aspnetdb;User I d=sa;Pass Word=sa providerName="System.Data.SqlClient" />
</connectionStrings>

.....

    这种方法很少使用,原因在于服务器中运行的应用程序配置大都不相同。在实际应用中,推荐使用第二种方法。

2)修改Web.config

    示例代码如下

<?xml version="1.0" encoding="UTF-8"?>

<configuartion>

.....

  <connectionStrings>
<add n a m e="SqlService" connectionString="Server=localhost;Integrated Security=SSPI;Initial Catalog=aspnetdb;" providerName="System.Data.SqlClient" />
</connectionStrings>

.....

    <profile defaultProvider="SqlProvider">
<providers>

        <clear/>
<add n a m e="SqlProvider" connectionStringName="SqlService" applicationName="Witkey" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</profile>

.....

</configuration>

    通过connectionStrings定义了SqlService连接字符串,profile节调用了<clear/>,清除从 machine.config文件继承的相关用户配置提供的程序设置。另外,还定义了一个新的用户配置提供程序SqlProvider,作为应用程序 Witkey的默认提供程序。如果整个站点只配置了一个应用程序,applicationName="/"。

三、实现自定义用户配置提供程序

     asp.net 2.0允许用户配置属性数据存储到其他数据源中去,如Oracle,Access等,主要步骤如下:

1)创建存储用户配置数据的数据库,创建相应的数据表,一般要记录用户名称、应用程序名称、是否匿名、上次活动时间、上次更新时间、以及需要记录的页面数据等;

2)设置事件日志访问,将异常信息存储到Windows应用程序事件日志中去。这个步骤是可选的。首先在注册表下注 册:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog \Application\XxxProvider;然后就可以在下一步中采用以下代码:

private void WriteToEventLog(Exception e,string action)

{

   EventLog log = new EventLog();

   log.Source = XxxProvider;

   log.Log = "Application";

   string msg = "处理数据出错了...";

   msg + = "Action:" + action + "\n\nException:" + e.ToString();

   log.WriteEntry(msg);

}

3)实现自定义用户配置提供程序。该步骤是实现的核心。必须实现其父类的以下成员和方法:

ProviderBase类中的Initialize方法,主要实现用户配置提供程序初始化,例如调用基类方法,设置应用程序名称、设置连接字符串等;

SettingsProvider类中的ApplicationName属性、GetPropertyValues,SetPropertyValues方法,主要实现配置属性的读取,例如获取用户信息,设置属性的默认值等。

ProfileProvider类中的DeletProfiles(2个)、DeleteInactiveProfiles、 GetAllProfiles、GetAllInactiveProfiles、FindProfilesByUserName、 FindInactiveProfilesByUserName、GetNumberOfInactiveProfiles方法,主要实现用户信息的保存 和获取。

4)配置Web.config文件中的<profile>,包括所使用的用户配置提供程序、连接字符串名称、用户配置属性等。

5)应用自定义用户配置管理程序,实际上和不采用自定义数据库的代码没有区别。

     注:由上面看来,这样开发难度还是太大,不如自定义开发。推荐还是使用微软的数据库,可以省很多代码,我们使用.net追求的就是效率嘛!当然为了满足比 较bt客户的需求,你可能会遇到非要这样做不可的时刻,那么请参看<Asp.Net 2.0开发指南>一书,本文的大体内容都是从以上书中借取,结合自己的试验所作。说心里话,这书内容很全,不过感觉没有<asp.net 2.0高级编程>写得有条理。

GD32F4系列定时器正交译码器实战:用TIMER1读取旋转编码器信号(附完整代码) 本文详细介绍了GD32F4系列定时器正交译码器的实战应用,重点讲解如何使用TIMER1模块高效读取旋转编码器信号。内容涵盖硬件连接、定时器配置、方向判断与速度计算等关键环节,并提供了完整的代码实现和优化建议,帮助开发者快速掌握GD32微控制器在工业控制和消费电子领域的编码器接口设计。 阅读详情

相关推荐

C# 读取图片和扫描PDF中的文本

本博客将探讨如何使用C#和OCR库实现从图片和扫描的 PDF 中提取文本。Spire.OCR for .NET 是一个OCR文字识别库,专为在 .NET 应用程序中识别图片的文本而设计。首先,使用 Spire.PDF 将扫描的 PDF 转换为图片,然后利用 Spire.OCR 从这些图片中提取文本。由于该OCR库并不支持直接处理PDF,因此要从扫描的 PDF 中提取文本,我们首先需要将 PDF 文档转换为图片。转换完成后,再利用 Spire.OCR 从生成的图片中提取文本。方法来识别图片中的文本。

nuclear2011的博客 5401

ASP.NET 个性化用户设置

打开vs2010--不可以直接建立项目--要新建网站(个性化设置只有在网站可以实行)--步骤如下:在这里需要新建登录页面(LOGIN),设置个性化页面(Addshezhi),获取个性化页面(Add获取)运行结果如下:(运行之前在项目页面的的菜单栏点击“网站”--“ASP.NET配置”--“安全”--创建新的用户--在运行)...

LJR557的博客呀 392

能碳双控| AIRIOT智慧能碳管理解决方案

基于AIRIOT打造的智慧能碳管理平台解决方案结合大数据、物联网、人工智能(AI)、数字孪生等新一代信息技术,通过整合碳达峰、碳中和、实时碳价、碳配额和碳资产等多个模块,为组织提供了全方位、灵活且智能的碳资产管理解决方案,有助于实现碳管理目标、提升可持续性,并适应碳市场的不断变化。

AIRIOT的博客 1808

个性化用户配置API

个性化功能简介:大多数用户以匿名形式访问Web站点时,希望实现诸如内容定制、布局调用等功能。ASP.NET2.0技术提供了一个个性化服务解决技术框架。该框架主要包括3项核心功能:个性化用户配置、Web部件、成员和角色管理个性化服务分为三大步骤:识别用户身份提供个性化服务体验存储用户信息1.创建网站2.添加Login.aspx页面,作为用户登录页面添加控件为工具箱里的登录。3.打开VS命令提示框输入...

刘彬的编程技术博客 695

别再死磕V1了!手把手教你用WPS Web Office V3 SDK快速集成(附Java Demo避坑指南)

本文详细介绍了如何从WPS Web Office V1迁移到V3版本,重点讲解了V3在性能、安全性和扩展性上的优势,以及Java开发者如何快速集成V3 SDK。文章包含核心功能实现、高级功能适配(如Solon框架)和常见问题排查指南,帮助开发者高效完成迁移并避免常见陷阱。

weixin_27215337的博客 336

大规模SoC芯片Hierarchical Flow Calibre LVS教程

大规模SoC芯片Hierarchical Flow Calibre物理验证LVS实现教程

weixin_37584728的博客 1200

ASP.NET2.0 -- 个性化用户配置

一、简介 为用户提供自定义的外观、内容、布局,当用户再次访问的时候,用户还能看到自己原来的设定。 二、个性化的三大步骤 1. 识别用户身份 要建立验证用户身份的机制 创建识别用户需求的机制 创建管理用户的机制 2. 提供个性化服务 针对注册和匿名用户提供不同的服务 3. 存贮用户信息 可以保存用户的相关信息,以方便下次使用,包括用户的登陆信息 三、实现个性化...

weixin_30263073的博客 147

【RT-DETR多模态融合改进】| 自研 多模态大核选择模块:MM_LSK,适配多模态图像信息融合

本文记录的利用改进的多模态大核选择模块(MM-LSK)优化RT-DETR,构建可见光-红外双模态目标检测网络。在遥感等大尺寸图像的可见光-红外双模态小目标检测任务中,单模态检测易受光照、云雾、背景干扰等因素影响,且小目标外观信息匮乏,无法仅基于单模态外观实现较好的识别,因此需要融合双模态互补特性与广泛的跨模态上下文信息进行辅助。

Limiiiing的博客 381

ASP.NET2.0学习7--个性化用户配置

个性化用户配置一、简介为用户提供自定义的外观、内容、布局,当用户再次访问的时候,用户还能看到自己原来的设定。 二、个性化的三大步骤1.  识别用户身份要建立验证用户身份的机制创建识别用户需求的机制创建管理用户的机制2.  提供个性化服务针对注册和匿名用户提供不同的服务3.  存贮用户信息可以保存用户的相关信息,以方便下次使用,包括用户的登陆信息三

gongchl2006的专栏 1675

【OS】AUTOSAR OS系统调用产生Trap的过程详解

AUTOSAR OS系统调用产生Trap的过程详解

qq_36056498的博客 2438

20_文件系统的制作 -JFFS2

JFFS2 文件系统是通过工具 mkfs.jffs2 将文件系统目录制成映像文件。制作工具mkfs.jffs2 需要编译 zhb 库和 mtd-utils,下面详细介绍其制作过程

Leon的博客 549

Asp.net---个性化用户配置

个性化功能简介大多数用户以匿名形式访问web站点时,希望实现诸如内容定制,布局调用等功能。Asp.net2.0技术提供了一个个性化服务解决技术框架。该框架主要包括3项核心功能:个性化用户配置、web部件、成员和角色管理个性化服务分为三大部骤:.识别用户身份.提供个性化服务体验.存储用户信息创建:打开文件工具栏,新建网站。&lt;Profile&gt;&lt;Profile&gt;配置节设置&lt;...

都嘉浩的编程博客 474

【踩坑记录】pandas.to_sql 报 “‘Engine‘ object has no attribute ‘cursor‘”,最后竟然是环境问题

摘要 本文记录了使用pandas+SQLAlchemy+pymysql将数据写入MySQL时遇到的"Engine对象无cursor属性"错误及其解决方案。问题表现为to_sql方法将SQLAlchemy引擎误认为普通DBAPI连接,导致调用cursor()方法失败。经排查发现,这是由于pandas/SQLAlchemy环境损坏所致,而非代码问题。最终通过完全卸载并重新安装pandas(≥2.1)、SQLAlchemy(≥2.0)和pymysql解决了该问题。文章还建议将遗留的read_s

每日出拳老爷子的博客 336

asp.net2.0学习----个性化用户配置

个性化用户配置一、简介为用户提供自定义的外观、内容、布局,当用户再次访问的时候,用户还能看到自己原来的设定。 二、个性化的三大步骤1.  识别用户身份要建立验证用户身份的机制创建识别用户需求的机制创建管理用户的机制2.  提供个性化服务针对注册和匿名用户提供不同的服务3.  存贮用户信息可以保存用户的相关信息,以方便下次使用,包括用户的登陆信息三

guojin705的专栏 873

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

个性化与匿名个性化用户配置

个性户用户配置个性化功能简介    大多数用户以匿名形式访问Web站点时,希望实现诸多内容定制、布局调用等功能。    ASP.NET 2.0 技术提供了一个个性化服务解决技术框架。该框架主要包括3项核心功能:个性化用户配置、Web部件、成员和角色管理    个性化服务分为三大步骤:            (1)识别用户身份            (2)提供个性化服务体验            (...

472

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

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

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

天才也是人 362

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

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

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

We Love MengMeng! 795

ASP.NET---个性化用户配置

1. 个性化配置功能简介(1)大多数用户以匿名形式访问Web站点时,希望实现诸如内容定制、布局调用等功能。(2)ASP.NET2.0 技术提供了一个个性化服务解决技术框架。该框架主要包括3项核心功能:个性化用户配置、Web部件、成员和角色管理(3)个性化服务分为三大步骤:(4)识别用户身份(5)提供个性化服务体验(6)存储用户信息2. &lt;profile&gt;配置节(1)设置&lt;prof...

何明洋的编程技术博客 481

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

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

weixin_30877227的博客 77
上一篇: ASP.NET中App_Code,App_Data等文件夹的作用<转>
下一篇: ASP.NET 3.5核心编程学习笔记(9):用户配置文件
mywebstudy
博客等级 码龄15年 30粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值