一点ASP问题、差错和个人心得

ASP服务性规范考试 周日,小A正和女朋友在逛街;于是,小A将华为研发小C(小A大学同学)的手机号码告诉小B,让小B找小C帮忙解决。小L到客户现场交付安装服务。工程师小A在现场处理故障需要重启服务器,由于服务器是主备用,客户认为有安全保障,要求在工作时间进行操作,小A认为客户既然已口头要求,可以进行操作。客户埋怨某产品的功能与华为销售宣讲的不一样,正在现场服务的工程师小A为了满足客户需求,自行帮助客户开通了该功能。现场服务工程师小A完成故障排除后,客户随工老B这时不在现场,小A找到另一客户工程师在现场服务报告上签字后离开。 阅读详情
一点ASP问题、差错和个人心得

转贴自:http://www.5d.cn/bbs/NewsDetail.asp?id=917831

1.省略dim,方便但也是隐患!
申请变量后再使用是标准方法:
dim a
a = "1"
事实上,你不写dim也可以:
a = "1"
系统并不认为出错,它会自动判断a是不是一个已经存在的变量,存在就继续执行,如果不存在就自动帮你申请!看似系统好聪明好智能好体贴,但是隐患出来了!系统知道我的意思吗?系统很可能自作聪明,好心帮倒忙!问题一:如果我前面已经申请了一个变量,比如administrator,后面我要给这个变量赋值,我不幸写错了个字母或少写了个字母,比如administratar = “me",系统终于等来了个“帮”我的机会,并“自告奋勇”的为我申明变量,“体贴周到”难以言表!是的,程序也许能运行,但逻辑上已经乱成一片了,因为系统没有报错(或者报了个其他错来误导你),你根本不能很快定位到问题处,如果程序很大,你花了很多时间找到根源后,你感想如何?你肯定很想骂系统“自做多情”,如果当初系统报一个administratar变量名不存在,我很快就能知道自己拼写错了,而把问题迅速纠正,而不必“沉醉”在系统的“自做多情”当中!省略dim后带来的另一个隐患后面会讲!

2.函数内申明的变量不会干扰外部的变量!
比如:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
dim a
a = "1"
function getstr()
dim a
a = "2"
end function

response.Write a & "<br>"
getstr()
response.Write a & "<br>"
%>

结果显示函数内部申明的变量是不会干扰外面的,它的作用域就是函数内部,其实学过其他语言的都应该知道!但要先声明,如果把函数内的dim a去掉的话,那就把那个a认为是外部的a,结果就变了!文件里面申请的变量,他的作用域就是这个文件。

3.让人又爱又恨的include!
include可以使ASP程序更加结构清晰,而且一些常用的函数可以被其他文件所共享!他带来的好处同时你必须注意缺点!
现在回到第一点谈到的省略dim,前面讲的是我赋值却被系统“好心”的变成了申明变量。现在讲的正好相反,我想声明变量,系统却赋值,因为省略dim也能申明变量,对于能省则省喜欢精简的程序员来说,常常挡不住这个诱惑(我有时候也喜欢这么申请,嘿嘿)但是,你能保证你申请的变量名前面的程序里没有?如果前面有这个变量名,那你不是申请成了赋值了?同一个文件中也许很少会犯这个错误,但是别忘了include,他是包含进来文件,如果包含进来的文件中有你申请的变量,那你就完了,就算能运行,逻辑上已经成问题了。如果你不偷懒,用dim申请,报错的时候,你幸运的得知这个变量名已经存在了!很快就能改正!

现在来讨论更复杂的情况,如果你include两个文件进来,在这两个文件中都有同一个变量名,如果两个都用dim申请的话,还好,就只是报错,说变量名已经存在了,很快就能知道问题了。现在你可以理解我为什么讲第二点的作用域了,由于作用域,不同文件同名变量一般情况下不会“打架”。但是,如果被另一个文件同时include进来,问题就麻烦了,所以如果你写的asp文件是准备被包含的,请防止同名的情况发生。再回到原来的讨论,如果两个include文件中申请同名变量都dim还好,但是后包含文件是用省略dim申请,问题就来了,后面的省略dim申请成赋值了,要命的是,这是在两个include文件中,很隐蔽,查找问题更困难!

综上所述,大家可以写一些简单的例子来体会体会其中的问题,最后建议:
1.变量请先用dim申请再使用!尤其多人开发的复杂程序!
2.给变量赋值请注意变量拼写!
3.仔细了解include的文件。

***现在讲讲查错:

事实上,寻找问题比代码编写更重要!我个人经验,问题分三类:
1.报错类,编译系统在编译系统过程中遇到的问题,它会给出错误信息,这是程序员最喜欢的问题,呵呵,不是变态,而是这种问题查起来最简单!

2.逻辑类,比较讨厌的问题,程序编译成功,也能运行,不过显示的结果不是你逻辑中期望的结果。oh, my god!怎么办,没有提示信息,只能凭经验和感觉去分析错误的结果,然后查源代码,顺利的话,几分钟解决,难缠的一天下来也没结果!

3.性能类,很可怕的问题,程序编译成功,也能正常运行,显示也正常!但是,偶尔隔段时间给你来个错误,你根本不知道错误是在什么情况下触发的,或者程序性能不如同类程序的高,运行慢,这些问题,有些一个星期一个月能解决了,有的几乎就是顽疾,治不好。我就曾经被这种问题折腾的死去活来!

所以,要想学好编程,就要尝试自己解决问题,尤其象ASP程序,逻辑方面出问题的情况不大,出的问题基本都是报错类的,有出错信息,出错位置,自己分析分析应该不难解决。我看有些人愿意在论坛上花个三天等别人告诉自己问题,为什么自己不去解决呢?自己查到一个问题,就长了一分经验,这才是程序员的财富!

***一点程序员的心得:
不要以为能写几行代码,做过几个小程序就以为是程序员了,等你去软件公司干上几年你就明白什么叫程序员了,编写代码不算什么,代码查错,优化代码,编写软件文挡(不是一个简单的用户手册,而是项目申请书,项目初步设计说明书,项目详细设计书,数据库设计说明书,项目测试说明书,用户使用手册,用户维护手册等等),事实上你会程序设计,并不代表你能软件开发。事实上我在某些方面还做的不够好,比如编写软件文档,呵呵,想想是件很恐怖的事情,编写软件文档比写程序痛苦多了!自己做了三年delphi程序员,虽然离开公司的时候完成一个不错的软件项目。但还是感觉到自己不足,所以现在我还是不停的补充其他各个方面的技术,这个社会竞争已经很激烈了,你越不努力向上,你越努力向失业靠近!

对于第一个问题,我强烈建议大家使用变量前用Dim定义一下,多写一行代码并不是很困难的事。然后在ASP文件头部用<%Option Explicit%>,这样,如果不小心把变量名写错,就会返回变量没有定义的错误,就可以很容易地查出错误位置,否则,该变量就是一个Null值。

另外,结合Option Explicit说一下第二个问题。有时候我们需要包含多个文件(比如head定义、顶部导航等代码),而Option Explicit在一个ASP Application(注意这里是说application,特指一次应用,而不是page,不表示一个页面)只能用一次。所以,Option Explicit最好不要放在include文件内部,以免被多个页面多次调用引起混乱。

再说一个关于 include 的小问题。一般,如果需要包含的文件就在当前目录内,我们可以直接用
<!--#include file="abc.asp"-->

来包含它。但是,很多时候我们有N个需要包含的文件。于是,为了方便管理,我们将它们统一放在一个INC或include目录内。这样,有时候包含代码就写成了:
<!--#include file="../inc/abc.asp" -->

这就是我要讨论的问题。请注意,使用..可以访问上层目录,由于而带来一个安全隐患:用户有可能非法引用站点外部文件。基于这个理由,Microsoft 发布的 IIS Lockdown 工具屏蔽了这个引用方法,并且 Microsoft 在 Windows Server 2003 的 IIS6.0 上默认是屏蔽这种方式的。对于这种不在本目录内的包含文件,推荐使用这种安全的引用方法:
<!--#include virtual="/inc/abc.asp"-->

欢迎更多有益的探索和讨论
[试错题库]中国政企ASP服务规范性考试 这里写自定义目录标题写在前面判断题正确单选题错误单选题正确多选题错误多选题 写在前面 我在网上搜题目时,发现很多人把错的答案都发上去了,并且没有标注出来。 不知是不是答案有变化还是在坑人。我的答案如果有错,还请在评论区说一声。 我的错题也在这里面,每种题目的格式都不一样。若你把错题答案当作正确的填进去了,我也没什么办法了。 判断题 (T代表正确,F代表错误) F 中小项目管理流程要求合同信息发布后10个自然日内在ISDP系统中完成“预计开工时间”及“预计验收时间”。 T 重点网络客户,客户问题未彻底解决,但 阅读详情

相关推荐

中国区ASP服务性规范考试

10、每次现场维护服务,工程师需按照400要求达到现场的时间与客户联系,在抵达现场、故障恢复后两个时间点分别向400报CALL ,如与客户联系变更到现场时间点,也需向400电话备案(400-822-9999)……20、工程师小B 在接到客户故障申报后赶到客户现场,发现问题无法解决,于是及时将情况反馈至技术支持响应工程师小C ,小B 就和小C 协商由小C 远程解决此问题,后小B 离开客户现场。18、小L 到客户现场交付安装服务。6、EPMS 中上载初验证书的命名规则为:合同号+初验的客户签署日期……

2301_76197693的博客 1910

Asp常见问题(新手)

        1、问题:ASP是一种编程语言吗?  答:ASP不是编程语言,而是一种开发环境。ASP提供了一个在服务器端执行指令的环境,它利用了特殊的符号()来区分HTML与必须经过服务器翻译才能送往客户端的命令。它可以执行的指令包括HTML语言, Microsoft VBScript和 Microsoft Jscript等,因此可以制作出功能强大的Web应用程序。  2、问题:在Web服务器上

Aspstudy与你一起学习ASP ...... 1万+

Obsidian免费同步全攻略:手把手教你用OneDrive+Remotely Save插件跨设备同步笔记

本文提供了一份详细的Obsidian免费同步方案指南,核心是利用OneDrive云存储与Remotely Save插件实现跨设备笔记同步。文章手把手教学,涵盖插件安装、OneDrive授权配置、桌面端与移动端的同步设置,并解答了常见问题,帮助用户在不依赖官方付费服务的情况下,构建稳定、自主的免费同步工作流。

bash7scripter的博客 850

ASP常见问题及解答

1.如何 最小化、最大化、关闭窗口答:2.如何静止页面缓存答:htm网页或者asp网页response.expires=-1response.expiresabsolute=now()-1response.cachecontrol="no-cache"php网页header("expires:mon,26jul199705:00:00gmt");header("cache-control:no-c

doublewang的专栏 1246

fNIRS 公开数据集整理

关注“心仪脑”查看更多脑科学知识的分享。 关键词:数据整理、fNIRS 之前我们向大家推送了 Public Neuroscience Dataset 系列主题的第一期:《EEG公开数据集》,我们同时意识到大家对于神经科学公开数据集的需求。本期是该系列主题的第二期,我们在延续第一期初衷的基础上,整理了功能性近红外光谱(fNIRS)技术的公开数据集。 fNIRS 是一种非侵入性、便携且价格低廉的光学神经成像技术,它具有可观的空间和时间分辨率。因fNIRS技术问世较EEG晚了许多,所以应用此技术开展研究发.

psybrain的博客 4272

labview的TDMS文件读写

本文先介绍TDMS概念和文件结构,然后介绍VI如何使用,最后分析一个labview的自带范例

观则明的博客 1万+

asp毕业设计下载(全套源码+配套论文)——基于asp+access的期刊稿件处理系统设计与实现

1.本课题主要就互联网中的网站建立展开研究,通过对asp语言和数据库等技术的学习,设计出基于Web的期刊系统。该系统设置了三级用户,每级用户拥有对系统操作的不同权限,此权限由系统管理员即admin级别用户来管理。用户登录后进行在线投稿,查询稿件状态,包括评审费查询,版面费查询,收录查询等。评审专家登录后进行稿件评阅等。期刊管理员登录管理期刊文章,管理评审专家列表,分发新投稿给评审专家,处理收稿信息,收评审费信息,评审结果信息,收版面费信息等。2. 本文主要内容主要包括如下内容。

m0_66238867的博客 883

在Ubuntu上通过Wine完美运行企业微信的详细指南

本文提供了在Ubuntu系统上通过Wine兼容层安装和运行企业微信的详细教程。针对官方未提供Linux版本的痛点,指南推荐使用Ubuntu Kylin团队优化打包的Wine环境,通过简单的命令行步骤即可完成部署,并涵盖启动、中文输入法配置、文件管理等常见问题的解决方案,帮助用户实现高效、稳定的办公沟通。

weixin_29306317的博客 233

基于ASP.NET的病历管理系统(源码+文档+部署讲解等)

在医疗信息化建设加速与电子病历规范化要求提升的背景下,我国三级医院电子病历普及率已达 95%,但传统系统存在数据互通困难(医院间共享率不足 30%)、结构化程度低(非结构化数据占比超 70%)、安全管控薄弱(隐私泄露事件频发)等问题。据统计,医疗差错中 20% 与病历信息不准确或不完整相关,患者转院时约 40% 的病历资料需要重新采集。基于ASP.NET的病历管理系统通过整合微软技术生态与医疗行业需求,构建高性能、高安全的电子病历平台,可有效解决传统模式痛点。 系统依托ASP.NET MVC 架构,集成 E

专注于大学生项目实战开发,讲解,毕业答疑辅导,java就业辅导,高校老师/讲师/同行合作。以及产品测评宣传、工具推广等合作。全网粉丝10w+,平台优质java、小程序创作者。 298

标准恢复二极管整流器的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告

报告页数: 150 图表数: 100 报告价格:¥16800 本文研究全球与中国市场标准恢复二极管整流器的发展现状及未来发展趋势,分别从生产和消费的角度分析标准恢复二极管整流器的主要生产地区、主要消费地区以及主要的生产商。重点分析全球与中国市场的主要厂商产品特点、产品规格、不同规格产品的价格、产量、产值及全球和中国市场主要生产商的市场份额。 主要生产商包括: Yangzhou Yangjie Vishay Intertechnology Power Semiconductors Inc Nexperia B

Fj69258的博客 5849

overleaf导入模板

本文介绍了如何在Overleaf平台导入Springer Nature模板。首先下载所需的模板压缩包,然后在Overleaf中选择"Upload project"上传该压缩包。上传后会显示模板文件,包括EPS格式图像文件、LaTeX源文件、BibTeX参考文献文件、PDF输出文件以及文档类文件。这些文件共同构成了完整的LaTeX模板,可用于学术论文写作和排版。

A2787960542的博客 1148

基于ASP. NET的医院管理系统(源码+lw+部署文档+讲解等)

在医疗信息化建设加速与患者服务需求升级的背景下,我国医院平均门诊候诊时间超 60 分钟,医疗差错率约 3%,传统医院管理系统存在信息孤岛严重(系统集成率不足 40%)、业务流程繁琐(患者平均需往返 6 个窗口)、数据安全隐患突出等问题。基于ASP.NET的医院管理系统通过整合信息化技术与医疗服务全流程,构建智能化管理平台,可有效解决传统模式痛点。系统采用ASP.NET MVC 架构,集成 Entity Framework 实现数据访问,运用 Identity 框架实现安全认证;前端基于 Bootstrap

专注于大学生项目实战开发,讲解,毕业答疑辅导,java就业辅导,高校老师/讲师/同行合作。以及产品测评宣传、工具推广等合作。全网粉丝10w+,平台优质创作者。 1137

CUDA详细安装及环境配置——环境配置指南 – CUDA+cuDNN+PyTorch 安装

本文详细介绍了如何确定显卡支持的CUDA版本、选择对应的cuDNN版本,并逐步安装CUDA、cuDNN和PyTorch。首先,通过命令行输入nvidia-smi.exe查看显卡支持的CUDA版本。接着,根据CUDA版本选择对应的cuDNN版本并下载。然后,从NVIDIA官方网站下载CUDA安装包,按照提示进行安装,并检查是否安装成功。同样地,下载cuDNN安装包,解压后将文件拷贝到CUDA安装目录中,并通过命令行验证安装是否成功。最后,根据PyTorch官网的指引,选择合适的安装命令进行PyTorch的安装

2501_90350274的博客 5098

王道408计算机网络个人产出

三网:计算机网络,电信网络,有线电视网络。(4网+电网)是一个分散的、具有独立功能的计算机系统,通过通信与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。资源共享(可共享硬件、软件、数据),数据通信,分布式处理(即多台计算机各自承担同一工作任务的不同部分),【提高可靠性(替代机),负载均衡】。因特网是世界上最大的互联网,互联网把网络连接在一起,网络把计算机连接在一起。ISP:因特网服务提供者。分为主干ISP,地区ISP,本地ISP。IXP:因特网交换点。

天枢白泽的博客 359

智能能效管家:基于 ESP32 的智能插座设计与精细化功耗管理实现

针对传统插座无法远程控制、功耗监测缺失、能源浪费严重等问题,本文设计一款基于 ESP32 主控芯片的智能插座。该系统集成 WiFi 无线通信、交流功耗采集、继电器通断控制模块,实现四大核心功能。硬件采用模块化选型与安全接线设计,软件基于 Arduino-ESP32 框架开发,搭载 Mqtt 通信协议与功耗算法,可通过手机 / 云端实时管控设备,有效提升用电安全性与能源利用率。:ESP32;智能插座;功耗管理;远程控制;能耗监测。

weixin_42300449的博客 101

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

asp mysql主机_[原创]虚拟主机中ASP.Net + MySql 的解决方案

运行环境:服务器:虚拟主机数据库:Mysql 5.0asp.net版本:2.0开发环境:服务器:本地 IIS 7.0数据库:Mysql 5.1数据库驱动:Mysql Connector/.Net 6.3.5.0asp/net版本:2.0问题一:发布后上线,web.config中""报错。我的解决方案:在工程目录下新建“bin”目录,将在网上下载“MySql.Data.dll”以及“MySql.We...

weixin_42181693的博客 161

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

asp毕业设计——基于asp+sqlserver的网上选课系统设计与实现(毕业论文+程序源码)——网上选课系统

针对学生选课这一环节,本系统从学生网上自主选课以及教师的课程发布两个大方面进行了设计,基本实现了学生的在线信息查询、选课功能以及教师对课程信息发布的管理等功能,另外也初步解决了教师在课程信息发布管理上的权限问题。本程序前台采用Dreamweaver4.03进行页面制作,后台由SQLServer数据库支持,通过使用ASP语言实现动态网页的效果,达到对数据库的操作以完成使用者的要求。提示以下为毕业论文的简略介绍,项目源码及完整毕业论文下载地址见文末。第一章设计的可行性。...

m0_66238867的博客 2036

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

STM32F407中文手册

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

ASP技巧(5)

 使用ASP与JAVASCRIPT配合实现多个复选框数据关联显示Windows 2003下不注册组件用ASP发邮件在Form域中Post大于100K的数据数据分页方法新思路,速度非常快!ASP程序中同一个用户不允许同时登陆两次分栏显示记录集的表格演示,并实现了分页关于Adodb.Stream的写数据库数据到客户端文件的实践ASP调用ORACLE存储过程并返回结果集将ASP的Debug变得简单的两个

rzwince2的专栏 689

生鲜加工成品预设的计划成本价格差错是否会影响成本核算

 问:生鲜加工成品预设的计划成本价格差错是否会影响成本核算?   Post By:2007-1-21 5:08:29 答:若对生鲜加工商品采用粗放的管理办法(关于生鲜加工部门的管理方法,请见http://www.enjoyit.com.cn/bbs/dispbbs.asp?boardid=29&ID=2587&replyID=12192),需要预设或者设置计划配方来计算估计

emailqjc的专栏 3037

asp连接Mssql的方法及常见的错误

asp衔接Mssql的办法及常见的差错//第一种写法:MM_conn_STRING = "Driver={SQL Server};server=(local);uid=sa;pwd=;database=infs;"Set conn = Server.Createobject("ADODB.Connection")conn.open MM_conn_STRINGSET RS=SERVER.Creat

sfx82的专栏 673

SQL Server LocalDB 在 ASP.NET中的应用

我相信世界总是会向更好的方向发展,今年的维也纳新年音乐会没有往年的明星级指挥,但是它通过回归奥地利的本质,以更传统的聚合法则,让过往的艺术家们一代代创造的灿烂,在新的指挥手中,迸发出更深邃的音节。在此,也祝大家新年快乐。 如同交响乐一样,构造软件系统不一定必须某个强大的明星驱动,我们站在历代ADO.NET的肩膀上,更好地回归到SQL Server的核心开发:SQL Server LocalDB

Liang Yichen 946

ASP.NET 系列_06_编程指南(二)

    ASP.NET 服务器控件   服务器控件   github地址:  https://github.com/ixixii/ASP.NET_02_WebForms   控件是在图形用户界面中的小功能块,其中包括文本框,按钮,复选框,列表框,标签,和许多其它工具。利用这些工具,用户可以输入数据,进行选择并注明自己的喜好。 控件也用于结构性工作,如验证,数据访问,安全保证...

pre_eminent的JAVA学习园地 907
上一篇: windows默认文件夹权限(提升权限用) 转至http://www.oioj.net/blog/blog.asp?name=cnbird
下一篇: IP地址精解
freexploit
博客等级 码龄22年 315粉丝 778原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值