学者对于VS2005性能指标的判定与开发整理

开发 后端
大家知道VS2005已经出来了,而且VS2005性能有很大的提升,但由于项目限制,我们依然有很多人徘徊在VS2003中。最近我研究communityServer发现里面竟然后masterpage和memebership两个类。

关于VS2005性能在此做了个分析,希望对大家有所帮助,并共同进步。由于原文件太大,此处无法上传,所以大家有communitysever的可以从里面获得然后反编译为自己所用,没有的就到网络上搜索VS2005性能的文章。很多的。

Membership里共有四个大类:
◆scalablehosting:表示一切类的基类。
◆scalablehosting.configuration:一些配置的基本信息(有cookie的存放地址,名称等)。
◆scalablehosting.profile:用户的个性化信息。不同的用户可能看到不同的界面和不同的配置。
◆scalablehosting.Security:安全性设置,就是用户角色和权限的配置了,都在这里面。

我自己的开始是小部分的练习,就是从添加用户,修改,删除用户,然后授予角色,设置特性开始的。所以请容许我按照我的思路来描述这些类,而不是一个类一个类的来讲他们的作用。

添加用户:

因为是***个小DEMO,所以需要做的前提事情很多,但以后这些就不需要做了,虽然看起来很麻烦,我也是费了一天的时间才调整好。但为了以后方便的使用,建议大家还是先这样布置好。
首先在webconfig中,添加配置节。注意配置类型的修改,如果从communityserver中copy过来,是带publickey的,这个我们在测试的时候可以去掉(当然AssemblyInfo.cs中的keyfile属性内容设置为""),如果把publickey去掉,必须将memberrole.dll放在你的应用程序的根目录下。注意配置节里凡是有关空间名称的地方,都得把type修改成memberrole.dll中的空间名称,因为communityserver中用的是自己扩展的类。

还有就是自己添加的appSettings里面的连接字符串的名字要和上面这些配置节的名字一致。对配置节不熟悉的人可以多参考一些配置节设置的资料,我上面也有一篇,写的比较简单。

其次是数据库里面的设置,必须加入communityserver中的六个aspnet_开头的表。而且还得把所有aspnet开头的存储过程copy过来。注意表aspnet_SchemaVersions虽然与其他表无关联,但里面的内容很重要,也得copy过来。

添加用户的主要方法用到的是SqlMembershipProvider.cs中的CreateUser()。我们先来说说用到的类(当然先得在你的应用程序里添加引用memberrole.dll然后在cs文件中,添加using ......)

membershipuser:其实就是membership表的一个实体类,注意这个类有一个类属性[Serializable]表示可序列化的,也就是你可以把这个对象当成是一个只有一条记录的dataTable,如果需要返回多条记录,那就使用MembershipUserCollection,这个也是个[Serializable]的类,功能类似于DATASET。现在流行orm结构,也就是对象关系映射。直接通过操作实体类的方法而不是SQL语句来更新数据库。

通过数据表生成实体类的方法有很多,己写的工具或者codesmith+模板的形式都可以,网络上一搜很多,此处题外话。
membership:这个就是对用户进行增,删,改的操作类,返回的当然就是membershipuser对象。注意membership的大部分方法都是static方法,也就是说不需要实例化membershi以直接使用它的方法

例如:membership.createuser(...);

我们可以看到VS2005性能,membership里的createuser有很多重载方法,其实最主要的就是说明一个用户必须得有用户名和密码,其他都可忽略。所有的操作都其实都在参数最长的那个方法里,然后从这个方法调用Membership.Provider.CreateUser(...),其实provider就类似于一个工厂方法,通过它进行 Membership.Initialize(),然后在这个方法里通过查询配置节来获得究竟使用sqlprovider还是accessprovider,为VS2003使用的memberrole.dll只实现了sqlprovider方法,而VS2005里的还实现了access方法。这以后就去调用SqlMembershipProvider.cs中的createuser(..)方法。

这才是真正增加用户的方法,这里可以看到参数的赙值,调用的存储过程,以及错误的返回和判断。
当我们只需要用户名和密码来添加用户的时候,注意修改配置文件里的membership配置节的地方,将requiresUniqueEmail属性改为false,这样就不需要e-mail必须填写了。
例子:两个textbox(一个是用户名txtname,一个是密码txtpwd),一个按钮(btn),然后在按钮的click事件中直接写:

虽然主要用到的方法是以上这几个,但好多VS2005性能错误和安全的判断都在SecUtility.cs,有兴趣的话我们可以去关心它一下。#t#
 Membership.CreateUser(txtname.Text,txtpwd.Text);就OK了,到aspnet_membership数据表中查看你添加的用户吧。系统自动会把关联表里的内容也添加好,看看aspnet_Users是不是也有内容。很简单吧。

责任编辑:chenqingxiang 来源: TOM
相关推荐

2022-05-02 08:56:04

前端性能指标

2011-06-07 14:16:38

双绞线

2009-11-25 16:54:51

VS2005开发工具

2020-10-19 08:53:08

Redis性能指标监控

2009-12-17 13:33:14

VS2005类

2009-11-25 09:18:05

VS2005软件

2013-08-04 23:33:08

Taobao JVMiflake图像搜索引擎

2009-12-16 15:49:58

VS 2008性能

2013-06-17 10:19:30

交换机性能交换机参数交换机

2010-09-08 11:38:27

2009-11-25 16:45:46

VS2005软件

2023-09-08 15:37:29

软件开发性能

2011-05-04 13:53:08

jQuery

2023-11-20 09:48:13

Linux性能指标命令

2009-11-25 17:01:33

VS2005图片

2023-05-19 07:49:50

2011-07-28 14:58:49

HP ProLiant服务器

2023-12-29 15:30:41

内存存储

2023-12-17 14:49:20

前端首屏时间

2023-11-25 20:16:22

前端
点赞
收藏

51CTO技术栈公众号