请问大虾们,有谁做过在ASP中实现帐号的唯一登录呢?

作者&投稿:歹会 (若有异议请与网页底部的电邮联系)
请问大虾们ASP执行效率和资源消耗的问题~~~

技巧之一:提高使用Request集合的效率
访问一个ASP集合来提取一个值是费时的、占用计算资源的过程。因为这个操作包含了一系列对相关集合的搜索,这比访问一个局部变量要慢得多。因此,如果打算在页面中多次使用Request集合中的一个值,应该考虑将其存贮为一个局部变量。

例如将代码写成下面的形式以加快脚本引擎处理速度:

strTitle=Request.Form("Title")
strFirstName=Request.Form("FirstName")
strLastName=Request.Form("LastName")
If Len(strTitle) Then strTitle=strTitle & " "
If strFirstName="" Then strFullName=strTitle & " " & strLastName
Elseif Len(strFirstName)=1 Then
strFullName=strTitle & strFirstName & ". " & strLastName
Else
strFullName=strTitle & strFirstName & " " & strLastName
End If



技巧之二:直接访问适当的集合

如果不是别无选择,否则不要使用strPage=Request("page")的这样的形式来获取参数,因为这将按顺序搜索全部的集合— QueryString、Form、Cookies、ClientCertificate、ServerVarible直到发现第一个匹配值的名称。这样做比直接访问适当的集合效率低,并且是不安全的,除非能绝对保证这个值不会出现在另外一个集合中。

例如,可能希望搜索满足客户请求的WEB服务器名称,这通过出现在每个查询中的Request.ServerVarables集合中寻找 “SERVER_NAME”来实现。然而,假如其他的集合也包含名为“SERVER_NAME”的值(键名不区分大小写),当使用 Request("server_Name")时,就会得到错误的结果。总而言之,应尽可能直接访问适当的集合。

技巧之三:在费时操作前使用Response.IsClientConnected属性
使用Response.IsClientConnected是观察用户是否仍连到服务器并正在载入ASP创建的网页的有用方式。如果用户断开连接或停止下载,我们就不用再浪费服务器的资源创建网页,因为缓冲区内容将被IIS丢弃。所以,对那些需要大量时间计算或资源使用较多的网页来说,值得在每一阶段都检查游览者是否已离线:


…… Code to create first part of the page
If Response.IsClientConnected Then
Response.Flush
Else
Response.End
End If
…… Code to create next part of page


技巧之四:优化ASP中的ADO操作

通常面言,数据构成了WEB站点的实际内容。所以,优化ADO操作以加速ASP代码执行,十分有用:

a. 仅选择所需的列:当打开ADO记录集时,除非需要获得所有的列,否则不应自动地使用表名(即Select *)。使用单独的列意味着将减少发送到服务器或从服务器取出的数据量。即使需要使用全部列,单独地命名每个列也会获得最佳的性能,因为服务器不必再解释这些列的名字。

b. 尽可能的使用存储过程。存储过程是预先编译的程序,含有一个已经准备好的执行计划,所以比SQL语句执行更快。

c. 使用适当的光标和锁定模式。如果所做的全部工作只是从记录集中读取数据,并将其显示在屏幕上,那么就使用缺省的只能前移、只读的记录集。ADO用来维护记录和锁定的细节的工作越少,执行的性能就越高。

d. 使用对象变量。当遍历记录集时一个肯定能提高性能的方法是使用对象变量指向集合中的成员。例如:


While Not RsGc.EOF
Response.Write "工程名称:" & RsGc("GcMC") & "(工程代码:" & RsGc("GcCode")
& ")
"
RsGc.MoveNext
Wend


可以用改写为下面的代码以加快执行:


set GcMc=RsGc("GcMc")
set GcCode=RsGc("GcCode")
While Not rsGc.EOF Response.Write "工程名称:" & GcMc & "(工程代码:" & GcCode & ")
" RsGc.MoveNext
Wend



新的代码建立了对象变量的引用,所以可以使用对象变量而不是实际的变量,这意味着脚本引擎的工作减少了,因为在集合中进行索引的次数变少了。

e.不用 EOF 以加快记录循环

通常我们使用以下的代码进行记录循环:

Do while not records.eof
combo1.additem records![Full Name]
records.movenext
loop

结果是每个循环中数据库都要进行一次数据结束测试。在大量的记录的情况下, 浪费的时间相当 大。 而使用以下的代码, 可以提高近 1/3 的速度:

records.movelast
intRecCount=records.RecordCount
records.movefirst

for intCounter=1 to intRecCount
combo1.additem records![Full Name]
records.movenext
next intCounter



技巧五:不要混用脚本引擎

我们知道,ASP页面中既可以使用VBScript,也可以使用JScript。但是在同一个页面上同时使用JScript和VBScript则是不可取的。因为服务器必须实例化并尝试缓存两个(而不是一个)脚本引擎,这在一定程度上增加了系统负担。因此,从性能上考虑,不应在同一页面中混用多种脚本引擎。

技巧六:修改注册表

改的第一个地方:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\ASP

\Parameters

ProcessorThreadMax REG_DWORD

Default: 将此处的10 改为20

改的第二个地方:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\InetInfo

\Parameters

MaxPoolThreads REG_DWORD

Range: 0 - unlimited

Default: 将此处的4 改为20

你说的是在线文本编辑器吧,强烈推荐kindeditor,脚本内核(kindeditor.js)是用js写的,调用起来非常方便,兼容性良好。
eWebeditor 个人感觉不好用。调用时还要用iframe的方式嵌入,而且有很多浏览器(所有chrome内核、opera浏览器)都不兼容,显示不出来!!

建议尝试一下办法

是网页形式 就做一个框架结构的页面,利用隐藏的页面作为控制页面。

建立日志表
将登陆者的用户名,SESSION_ID IP地址(如果需要的话),登录状态(Y/N),登录时间 写入到登录日志表(SESSION_ID 每次登录的SESSION_ID都是不同的)

例如控制页间隔1分钟刷新一次

根据登录状态进行数据更新

关闭系统、退出系统这些操作,将SESSION失效即可。

我说了很多细节

总结如下

1、需要一个控制页面,进行后台刷新

2、根据状态进行数据更新

3、关闭系统、退出系统这些操作,将SESSION失效即可。

祝你成功

session记录用户名为123,当别人登陆时用123的话,发现已经存在这个session.那么就不记他登陆。 session后在关闭浏览器(也就是意外发生后)进行自己释放。 这样就可以实现了。


我刚接触plc不久,问下各位大虾们,那进位标志m8022有什么用的,在什么地...
你说的是三菱FX2N的吧。M8022就是进位标志位,进行加运算时有进位就置1.常用特殊辅助继电器如下,供参考:FX系列特殊辅助继电器,地址编号为:M8000~M8255,共255点 M8000、M8001:运行监视继电器 M8002、M8003:初始脉冲继电器,通常用M8002作初始信号 M8005锂电池电压过低继电器 M8011~M8014:内部时钟脉冲...

大虾们好!本人摄影爱好者,想做一个个性一些的水印,取名“随影”
大虾们好!本人摄影爱好者,经常拍一些人像或者随手的风景,想做一个个性的水印,取名“随影”。可以加一些修饰,文字繁简、方向均可,请发挥大家的想象力,背景透明,一般用光影修图... 大虾们好!本人摄影爱好者,经常拍一些人像或者随手的风景,想做一个个性的水印,取名“随影”。可以加一些修饰,文字繁简、方向均可,请...

新手,不知道下面这张图怎么做出来的。望大虾们耐心指教,多谢了。
首先,你先下载一个PHOTOSHOP,然后里边儿有一个线性渐变,将背景色设置为白色,然后从左向右进行拖拽,直到调到自己感觉满意的效果为止,留下邮箱,送你一套photoshop的教学视频

...买了蟑螂药也不管用,请问大虾们有什么好的办法吗?
5、是橘子、柠檬皮防蟑法,将橘子、柠檬的皮晒干或烤干后,放在各类橱柜中,或点燃干桔皮来薰 ,不仅有香味剂的作用,还能起到一定的防蟑效果。6、硼沙、面粉、香油糖。将少许硼沙与面粉混和,然后滴入几滴香油。做成团。用纸卷成筒状、再将做好的药团置于纸筒中。8、装修室内若蟑螂过多,最好...

魔兽地图编辑:大虾们,弟弟想做一个光环,包括有隐型效果的,那该怎么做...
随便找一个光环……然后在触发事件编辑器里面开新触发器……选择新条件——具有特效的单位(UNIT HAS BUFF之类的)……选择那个光环的魔法效果(BUFF)……然后选择新动作——单位——添加技能(ADD ABILITY),添加的技能选择隐形(不是隐形术),目标单位选择触发单位(TRIGGERING UNIT)……要做到没有...

大虾们帮帮忙 解决问题追加高分 要详解 有图片最好 电脑开机按F1 怎么...
3、主板电池没有电了也会造成数据丢失从而出现这个故障。4、重新启动系统,进入BIOS设置中,发现软驱设置为1.44M了,但实际上机箱内并无软驱,将此项设置为NONE后,故障排除。曾经有很多人问过这样的问题,下面将我遇过的此类问题做一下总结,希望对大家有所帮助。1、Hareware Monitor found an error...

...一直在河北念书,今年高二,有几个问题想问下大虾们
听说是哪里的回哪里考,,因为不同省份都有本地自己的名额

问各位大虾们看看这显示器和音箱怎么样还有。煲箱是什么意思(简单一点...
对于有源箱,还有功放部分,基本如上 新箱的功放,元件也都是新的,新元件同样需要磨合,使其进入稳定工作状态 而对于功率IC(如LM1875,LM3886等),也都需要进行一定的工作时间后才进入稳定状态 同时,功率IC预热后的声音也会比刚开机时要好,所以,建议大伙认真听音乐(包括做评测或试听)前,起码要...

大虾们 问个职业性的问题。。。网吧44台机子
这跟路由器,交换机有关你可换个路由器看看

有重要事咨询各位大虾们,急!! 今年弟弟结婚时我和老公拿了一万块礼金...
你妈妈也太偏心了,你就把你的实际情况跟你妈妈说呗,总不能家里就一万都给他们吧?你不过日子了?既然你弟弟结婚你拿了一万他们都没有回礼,你干嘛还跟这么不懂事的人客气,如果不想拿那么多还怕家里人不高兴那你就买点礼物呗,给孩子买个小金锁或者是手镯之类的大概在10克左右,现在金子还比较...

覃塘区17886062262: 请问大虾们,有谁做过在ASP中实现帐号的唯一登录呢? -
寿雁复方: 建议尝试一下办法是网页形式 就做一个框架结构的页面,利用隐藏的页面作为控制页面.建立日志表将登陆者的用户名,SESSION_ID IP地址(如果需要的话),登录状态(Y/N),登录时间 写入到登录日志表(SESSION_ID 每次登录的SESSION_ID都是不同的)例如控制页间隔1分钟刷新一次根据登录状态进行数据更新关闭系统、退出系统这些操作,将SESSION失效即可.我说了很多细节总结如下1、需要一个控制页面,进行后台刷新2、根据状态进行数据更新3、关闭系统、退出系统这些操作,将SESSION失效即可.祝你成功

覃塘区17886062262: 哪位大虾知道如何在asp里做出一个动态的曲线图??? -
寿雁复方: 利用jquery+amcharts或者jquery+highcharts就可以实现了.个人觉得highcharts更加漂亮好使!这根本就不在乎你是什么,java还是asp.net还是asp,甚至是静态网页都可以显示动态的曲线图.

覃塘区17886062262: 那个大虾帮我用ASP写个查询页面的代码,数据库access的database/data.mdb -
寿雁复方: 基本思路:1、在查询页面建立表单,表单里放置能输入查询条件的输入框,表单提交时查询条件作为变量传导至显示页面.2、显示页面接受上页传导的变量,并且与数据库建立连接,把变量作为查询条件进行查询,然后把查询结果赋给变量,下一步写一个显示变量的语句就可以了.仰韶图语网站为您回答

覃塘区17886062262: asp获取post提交的数据!本人不会ASP!请大虾做个实例!麻烦了... 获取数据并保存到数据库..
寿雁复方: Request.Form(),相当于PHP的$_Post()

覃塘区17886062262: 简单的ASP.nit 登录代码;实现功能为从表中查询注册信息,实现登录 没分了.不好意思啊 请大虾们帮帮忙啊 -
寿雁复方: OleDbConnection conn = new OleDbConnection("provider=microsoft.jet.oledb.4.0; data source=数据库"); OleDbCommand cmd = new OleDbCommand("select count(*) from 表 where users=1 and pwd=1", conn); conn.Open(); int s=0; s = int.Parse(cmd.ExecuteScalar().ToString()); if(s>0) Response.Write("登陆成功"); else Response.Write("登陆失败");

覃塘区17886062262: 各位大虾们,asp中如何实现前台显示的图片按天数提升位置呢 -
寿雁复方: 可以在图片库中添加一个字段来记录show状态,新增图片该字段的值均为0,显示时,SQLStr = "Select * From data_table Order by show desc"RS.Open SQLStr,Conn,3,3PICrow = 0Do while Not RS.EofIF RS("show") = 5 ThenRS("show")...

覃塘区17886062262: 各位大虾:asp 如何实现数据可视化导入 -
寿雁复方: 啥意思 AJAX呗 后台写了一条数据往前台反一条 在显示 在请求...不断的请求到最后

覃塘区17886062262: 各位大虾,我想asp网页中动态统计AC数据库某一个表的所有数值的和,在asp里怎么实现?
寿雁复方: 那就读取某个表 然后取和 用 SQL 语句实现.

覃塘区17886062262: 在ASP.NET 中,一个班级的课程表该如何实现? -
寿雁复方: 其实实现起来有满多种的:你也可以用DEATLIST控件还有一个REP什么也是数据绑定控件的,也可以用其它架构的列表控件的,就像我现在刚做完的一个项目就是用 COOLITE的!很好看有好用,还有分页什么的;你可以试一下 你还可以用动态生成表格的方式

覃塘区17886062262: asp 1对1在线系统怎样实现?大虾们帮个忙.. -
寿雁复方: 换个讲法是不是这样的功能呢?如果第一个客户提交了一个问题之后,别的所有客户的提交页面都显示是等待是吗?直到后台把这个问题处理了以后其他客户才能提交?还是其他客户都是可以提交的----------------------------------给你个思路做参考吧:在问题表中加一个字段,比如说istj字段int型的然后默认为0,当第一个客户提交一个问题后,就在istj字段中的值赋为1然后其他的客户提交的时候查询一次问题表,查询istj字段为1的记录,如果有,就显示等待,如果没有就让他提交.后台这里显示istj字段为1的那条记录,然后处理好后,就将该记录的istj字段的值更新为0这样其他的客户就可以提交另一个问题了

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网