浅析ASP.NET编程中十大技巧

浅析ASP.NET编程中十大技巧,第1张

在本篇文件中 我们将讨论编程人员在使用ASP NET开发应用程序时需要注意的 个技巧 这些技巧涉及从缺省的控件 表单名的改变到StringBuilder类的使用 有助于编程人员能够尽快地适应 NET环境 在使用Visual Studio NET时 除直接或非引用的对象外 不要使用缺省的名字 NET带来的好处之一是所有的源代码和配置文件都是纯文本文件 能够使用Notepad或WordPad等任意的文本编辑器进行编辑 如果不愿意 我们并非一定要使用Visual Studio NET作为集成开发环境 但使用了Visual Studio NET 我们可以在Windows文件管理器中看到文件 或在Visual Studio NET之外从文本编辑器中浏览文件的内容 使用Visual Studio NET作为集成开发环境有许多好处 其中最显著的好处是它极大地提高了生产效率 使用Visual Studio NET 我们能够在付出较小代价的情况下更快地开发软件 作为集成开发环境一部分的IntelliSense提供自动的代码完成 在输入方法或函数时提供动态帮助 语法错误的实时提示 以及其他能够提高生产效率的功能 象其他复杂的工具那样 在学会如何充分发挥它的作用和掌握其 习性 前 Visual Studio NET也会使我们产生一种挫折感 有时 它象一个难以了解的黑盒子 会生成大量的文件和许多无用的代码 Visual Studio NET的一个功能是 无论是类 控件或表单中的对象 它都能够为新对象提供缺省名字 例如 如果我们创建了一个新的ASP NET Web Application 其缺省的名字将是WebApplication 我们可以在 新工程 对话框中方便地改变该应用的名字 但同时改变的只是该应用程序的名字空间的名字及其所在的虚拟目录 源代码文件的缺省名字仍然是WebForm aspx和WebForm aspx cs(C#工程)或WebForm aspx vb(VB NET工程) 我们可以在方案浏览器中改变ASPX和代码使用的文件名字 但Web页类的名字仍然将是WebForm 如果在该Web表单上生成一个按钮 其缺省的名字将是Button 事实上 所有控件的名字都是由控件的类型和数字组成的 我们能够 也应该将应用程序中所有的表单和控件的名字都修改成有意义的名字 对于较小的演示性程序而言 缺省的名字还能够胜任 但如果应用程序由多个表单 每个表单上有许多按钮和标签时 象frmStartup frmDataEntry和frmReports这样的表单名就比Form Form 和Form 这样的名字更易于理解和维护 如果表单上控件要在代码的其他地方引用 使它有一个有意义的名字就更重要了 btnOK btnCancel和btnPrint这样的名字使看代码的人更容易理解 因而 也比名字为Button Button Button 这样的控件更容易维护 修改一个工程中所有文件中出现的一个名字的一个好方法是 在Visual Studio NET菜单中依次选择 编辑 > 发现和替换 > 替换 命令 在看二周前编写的代码时 我们经常就象第一次见到这些代码一样 因此使它们有一个有助于我们理解其含义的名字是十分有必要的 即使不使用Visual Studio NET进行编程 使用代码支持文件也有利于提高应用程序的性能 在Web应用程序 Web服务或Web控件等所有的ASP NET Web工程中 Visual Studio NET都使用代码支持文件 代码支持文件使工程具有更好的组织 模块性 更适合多人组成的开发团队 另外 它还会带来性能的提高 代码支持文件的内容被编译成一个组合文件中的类 一般是一个DLL文件 有时也可以是EXE文件 该文件驻留在应用程序的组合体高速缓冲区中 在应用程序启动时 可以立即得到它 如果代码是包含在<script>标记中或ASPX文件代码中 它仍然会被编译成一个Web页类 在这种情况下 每当该网页在应用程序对话中第一次加载时 都需要重新进行编译 被编译的类就会驻留在内存中 每当计算机启动 IIS停止 重新启动或者源代码 配置文件改变时 该文件必须重新编译 尽管不大 但这样引起的性能损耗也是相当可观的 尽量减少表单回送 每当点击Web网页上的Button LinkButton或ImageButton控件时 表单就会被发送到服务器上 如果控件的AutoPostBack属性被设置为true 如果CheckBox CheckBoxList等控件的状态被改变后 也会使表单会发送回服务器 每次当表单被发送回服务器 就会被重新加载 启动Page_Load事件 执行Page_Load事件处理程序中的所有代码 把网页的初始化代码放在这里是最合适不过的了 我们经常会希望在每次加载网页时执行一些代码 而希望只有在网页第一次加载时执行另一些代码 甚至希望一些代码在除首次加载外的每次加载时执行 可以利用IsPostBack特性来完成这一功能 在网页第一次加载时 该属性的值是false 如果网页因回送而被重新加载 IsPostBack属性的值就会被设置为true 通过测试 可以在任意时候执行指定的代码 下面是相关的C#代码 protected void Page_Load(Object sender EventArgs e){// 网页每次加载时 执行的一些 *** 作if (!IsPostBack){// 网页第一次加载时执行的 *** 作}else{// 回送时执行的 *** 作}// 网页每次加载时执行的 *** 作}我们希望尽量不引起回送(每次回送都会要求服务器进行一系列的 *** 作) 即使引起回送后 也希望能够执行尽量少的 *** 作 大规模 浪费时间的 *** 作(例如数据库查找)尤其应当避免 因为它们能够延长应用程序的响应时间 使用StringBuilder类 字符串在 NET框架中是不可变的 这意味着改变字符串的 *** 作符和方法会返回字符串的改变后的拷贝 这意味着性能还有提高的空间 当进行大量的字符串 *** 作时 使用StringBuilder类就是一种比较好的选择了 下面的C#代码测试用二种方式从 个子字符串中生成字符串所需要的时间 第一次使用了一个简单的字符串串联 *** 作 第二次使用了StringBuilder类 要想查看结果字符串 可以去掉下面的代码中注解行的注解符号 <%@ Page Language= C# %><script runat= server >void Page_Load(Object Source EventArgs E){int intLimit = ;DateTime startTime;DateTime endTime;TimeSpan elapsedTime;string strSub;string strWhole = ;// 首先执行字符串连接 *** 作startTime = DateTime Now;for (int i= ; i < intLimit; i++){strSub = i ToString();strWhole = strWhole + + strSub;}endTime = DateTime Now;elapsedTime = endTime startTime;lblConcat Text = elapsedTime ToString();// lblConcatString Text = strWhole;// 使用stringBuilder类进行同样的 *** 作startTime = DateTime Now;StringBuilder = new StringBuilder();for (int i= ; i < intLimit; i++){strSub = i ToString(); Append( ); Append(strSub);}endTime = DateTime Now;elapsedTime = endTime startTime;lblBuild Text = elapsedTime ToString();// lblBuildString Text = ToString();}</script><><body><form runat= server ><h >String Concatenation Benchmark</h >Concatenation:<asp:Labelid= lblConcat runat= server /><br/><asp:Labelid= lblConcatString runat= server /><br/><br/>StringBuilder:<asp:Labelid= lblBuild runat= server /><br/><asp:Labelid= lblBuildString runat= server /></form></body></>二种方式的差别是相当大的 使用StringBuilder类的Append方法的速度比使用字符串连接的速度快近 倍 只在必要时使用服务器端控件ASP NET中新引入了一种在服务器端运行的被称作Web Server Controls的控件 在代码中 它们经常通过下面的语法被说明 <asp:TextBox id= txtLastName size= runat= server />它们有时也被称作ASP控件 服务器端控件是由runat属性指示的 它的值总是 server 通过添加runat属性 一般的HTML控件可以被很方便地转换到服务器端运行 下面是一个简单的例子 <input type= text id= txtLastName size= runat= server />可以通过id属性中指定的名字 我们可以引用程序中的控件 可以通过编程的方式设置属性和获得值 因此 服务器端处理方式有较大的灵活性 这种灵活性是有一定代价的 每种服务器端控件都会消耗服务器上的资源 另外 除非控件 网页或应用程序明确地禁止view state 控件的状态是包含在view state的隐藏域中 并在每次回送中都会被传递 这会引起严重的性能下降 在这方面的一个很好的例子是 网页上控件表格的应用 lishixinzhi/Article/program/ASP/201311/21790

定你的光驱是第一启动顺序并支持从光驱启动。要从光盘安装,要把BIOS进行设置,使系统能够从光盘启动。其方法如下:(1)启动计算机,当屏幕上显示PressDeltoEnterBIOSSetup提示信息时,按下键盘上的Del键,进放主板BIOS设置界面。(2)选择AdvancedBIOSFeatures选项,按Enter键进入设置程序。选择FirstBootDevice选项,然后按键盘上的PageUp或PageDown键将该项设置为CD-ROM,这样就可以把系统改为光盘启动。(3)退回到主菜单,保存BIOS设置。(保存方法是:按下F10,然后再按Y键即可)(4)然后将光盘放入光驱,并重启电脑,系统便会从光盘进行引导,并显示安装向导界面,你可以根据提示一步步进行安装设置就OK了。在WindowsXP拷贝完文件到硬盘,第一次重新启动计算机前,必须把光盘从光驱中取出,否则系统仍会从光盘启动并会循环执行安装程序。方法2:然后,按任意键进入光驱启动模式,加载Mini版本的 *** 作系统。然后,按Enter确定继续安装。然后,按F8接受许可证协议。然后,选择你想要安装的位置,选择一个足够大的空间,按Enter。然后,选择文件系统,推荐使用NTFS,按Enter。然后,将进入磁盘扫描,并且将安装程序复制到硬盘上。然后,计算机将在15秒后重新启动,按Enter立即重新启动。然后,从硬盘启动继续安装过程,此时开始是图形界面模式。在进行完一系列硬件检测后,将进入区域选择提示,在此配置语言,键盘和所在地区。然后,系统将提示你输入用户名和组织名,并生成一个计算机名,你可以更改。然后,将提示输入产品注册码。然后,将提示你输入管理员密码。然后,将显示组件选择框,选择你想要安装的Windows组件。然后,将进入时区和时间的设置。然后,进入联网组件安装(如果你的计算机有网卡并在硬件检测时被正确识别)。在配置好网络之后,计算机将检测并安装一系列Windows组件及服务。然后,重新启动,运行新安装的Windows。然后,进入安装的最后阶段,监测前面没有检测到的即插即用硬件。最后,可以用了!方法3:装系统(下面以安装WINDOWSXP为例)我选的是没有任何破解的、完整的WindowsXP安装光盘。启动电脑,当出现“光盘启动按任意键”字样时回车,开始复制安装程序,检验系统盘位置的容量和格式,这些都可以不理;出现对系统硬盘的文件格式的选择时最好AT32,不要选NTFS。尽管NTFS文件体系对xx作系统的稳定性和速度以及硬盘管理功能有很大的提高,但NTFS只是支持以NT为内核的WindowsNT、Windows2000、WindowsXP,不支持DOS、WindowsME、Windows98。所以,对于我们经常玩软件的人并不适合。一旦出现系统崩溃,在NTFS下有可能要通过重新分区、格式化等手段来重新安装系统,只要重新分区,硬盘上的资料和数据就彻底完蛋了。(这是我吃了无数亏得来的教训,当年在使用Windows2000时,我就采用了NTFS系统,主要用以防止CIH病毒对系统和硬件的超级破坏,可现在防、杀CIH太容易了)相反,在FAT32文件系统下,只要有一张98或Me的启动盘格式化一下C盘就可以重装系统了,也不怕丢失所有硬盘上的数据和资料。(关于分区,这里就不说了,以后有机会专门说说分区,包括FDISK和DM的实战xx练,分区是一项比较危险和麻烦的事情)接着,复制系统文件,准备安装等步骤。出现选择时区、语言等对话框,这就不用我说了吧。耐心等待。如果是在DOS下原始安装XP,则必须先把smartdrvexe文件(在Win98的安装目录下,名为smartdrvexe)拷入98启动软盘,安装之前运行一下就可以大幅度提高安装速度。(我在安装之前有时候运行一下,有时候忘了,可我没有感觉到有多大的差别,也可能我的电脑内存比较大?说不清)如果你是在原有系统不变、系统硬盘上有xx作系统的情况下重新安装XP,在安装的过程中会出现《升级/全新安装》对话框,此时你必须选择升级,除非你想在你的机子上安装双xx作系统。要求输入序列号时输入以下号码:BX6HT-MDJKW-H2J4X-BX67W-TVVFG这个注册码基本都能安装(我最少试了5、6种XP安装光盘了)一般安装时间不超过60分钟。安装完毕,选择现在不激活以后激活,按下一步,至少填入一个名字,如JixXP,一路回车键,可以了。现在开始激活系统:我采用的是俄罗斯黑客的激活法。见下面使用说明:方法:把SETUPREGHIV复制到%systemroot%system32目录下覆盖原文件(我倒是找不到这个SETUPREGHIV,直接粘贴上去的),重启,按F8进入安全模式,以管理员身份登录,运行WINXP_CRKEXE,重启,进入WinXP,在要求激活时选择“电话激活”,在每个方框中都填入“401111”----激活成功!西部电子提供下载不用多说了吧。我只告诉你一个字:棒!!!4必要的设置和部分驱动程序的安装⑴进入《控制面板》(或鼠标右键点击我的电脑、再点击属性),打开《系统》,选《系统还原》,选择关闭所有盘的还原功能。⑵在《系统》里,点《高级》,重新设置《错误报告》(不关了这个选项,老是出现向比尔盖兹告状的申请单,烦死人了)⑶一般笔记本电脑声卡、显卡、猫的驱动XP里全有,并且基本能自动安装。我重点说一下台式机。点开《控制面板》,点《系统》,再点《硬件》,点《设备管理器》,把里面有问号和感叹号的项目全部卸载,点确定关了《系统》项目。取出你随机带得驱动程序盘,放入光驱里;再点控制面板里面的《添加硬件》,出现选择对话框时,你如果知道你的驱动程序的目录和位置,你可以选手动选择;如果不知道,选择自动。声卡、显卡、猫安装驱动都是一样的做法。如果你没有XP的专用驱动程序,有两个法能解决你的问题。其一,你可以用该即插即用设备的Win2k(也即Windows2000)驱动程序进行安装,XP和2K的内核一样,驱动程序没有区别。在安装过程中可能会出现没有微软签名的对话框,不要理它,直接点“是”;如果你连Win2k的驱动也没有,那就只有另一个法了,先找出你的设备的生产厂家和型号,一般说明书上或板、卡上面都把厂家和型号打印上去了,然后从能上网的电脑上进厂家的网站,选中型号后直接下载。再用软盘或优盘或活动硬盘转存在你的电脑上,进行安装。(软盘容量小,恐怕放不下。)⑷显卡设置点控制面板里的显示,其它选项可根据你的电脑情况做相应的选择。最好象素选800×600,32真彩色。点《高级》,点击《监视器》,屏幕刷新频率阴极射线管显示器选75HZ或85HZ,液晶显示器选60HZ。⑸设置网络连接宽带设置我就不说了,只说一下拨号上网的设置。点控制面板里的《网络连接》,点《创建一个新连接》,点《连接Intelnet》,点《手动设置》,点《调制解调器》,再添名称如:,电话号码添16900,密码添16900,验证密码再添16900。就可以上网了。⑹声音设置点控制面板里的《声音和音频设备》,选中《把音量图标放入任务栏》,点击应用;至于其它选项,可以根据你的电脑的实际情况和你自己的爱好进行相关设置。5恢复信箱、帐号和通讯薄按照导出时的菜单步骤,将原来的“导出”换为“导入”进行xx作就可以了。(不用重复了吧,呵呵,要是反xx作不了,你就实在太笨了,也就不要看这篇文章了)6恢复字库将备份字库信息打开,如果有恢复程序就直接点击,如果没有就直接代替。我这主要是针对智能ABC和紫光拼音输入法。其它输入法我没有用过,不熟悉,你最好自己研究研究。7我的文档重新设置重复导出时的步骤,将两个文件夹合并、链接起来就可以了。8建议你的电脑上装以下实用软件:⑴Winzip81(通用压缩软件)⑵WinRAR32(最好的压缩软件)⑶MicrosoftOfficeXP(国际通用公系统)⑷AcadSee50(图形识别软件)⑸金山词霸2003(即时英汉翻译软件)⑹金山毒霸2003(最好的国产杀毒软件)⑺Winamp28(最好的Mp3音乐播放软件)⑻WinDVD40(DVD、VCD音像播放软件)⑼FlashGet140(最好的网上下载工具)以上软件都是我比较喜欢的。一般都能从网上下载。像OfficeXP、金山词霸、金山毒霸等这样的软件太大,最好买光盘安装。除此而外,最好装一个系统优化的软件。国产的系统优化软件里首推Windows优化大师(作者:鲁锦)和超级兔子魔法设置(作者:蔡旋)。WindowsXP本身的优化性极强,再进行系统优化已没有什么实际意义。但WindowsXP对CPU的二级缓存没有设置,可以用这两个软件中的任何一个优化一下。如我的笔记本的CPU二级缓存是256K,我没有进注册表重新设置,而是用兔子魔法设置的。9最后一项,进行磁盘碎片整理打开《我的电脑》,鼠标右键点击c:,点击《属性》,再点击《工具》,点击《开始整理》,最后点击《碎片整理》,等待整理完毕后点击确认。至此,本次安装完毕。方法4:WindowsXP的安装WindowsXP在升级安装上做得十分出色,它的安装方式同样有三种:升级安装、双系统共存安装和全新安装。我们可在以前的Windows98/98SE/Me/2000这些 *** 作系统的基础上顺利升级到WindowsXP。WindowsXP的核心代码是基于Windows2000的,所以从Windows2000上进行升级安装自然十分容易。下面我们就来介绍一下WindowsXP的安装。1在WINDOWS状态下放入光盘自动运行,讯问是否安装WINXP,用鼠标选择“InstallWindowsXP”。2选框里面可以选“升级(推荐)”和“新安装(高级)”。当语言版本不一致时,不能用“升级”,只能新安装。新安装不存在系统兼容性问题。3接受协议,输入注册码。4选择可支持其它东亚语种(InstallsupportforEastAsianlanguages),当然也包括中文。语种选择“Chinese(PRC)”。5点击第5步中的"AdvancedOptions"选项6在"Copyinstallationfilesfromthisfolder"所要求的文本框中输入安装的源目录;7在"Tothisfolderonmyharddrive"所要求的文本框中输入安装的目标目录,注意目标目录没有带驱动器号。如果想自己选安装在哪个驱动器号上,勾选下面的"IwanttochoosetheinstalldriveletterandpartitionduringSetup"。8"CopyallinstallationfilesfromtheSetupCD"是把安装盘上的文件拷贝到硬盘上。用光盘安装时它一般不会把安装源文件整个拷贝到硬盘,而是在安装时建立拷贝的文件列表,按列表拷贝。9"IwanttochoosetheinstalldriveletterandpartitionduringSetup"用于改变WINXP安装目录。10第5步中的"AccessibilityOptions"选项,即辅助选项(残疾人专用)。a)选择"UseMicrosoftMagnifierduringSetup"是"使用微软放大镜",字体会显示得很大。b)选择"UseMicrosoftNarratorduringSetup"是"使用微软讲述者",每步都有英文的语音提示,很清晰。11重启后,选择“TOsetupWindowsXPnow,pressENTER”,即安装WINXP。12磁盘格式转换,选择"ToconvertthedrivetoNTFS,pressC"即可将FAT(或FAT32)磁盘格式转换成NTFS格式,确认转换敲“C”。选择"ToselectadifferentpartitionforWindowsXP,pressESC"可重新选分区(敲“ESC”)。13进入安装,正在复制文件,显示复制文件的进度。14文件复制完毕,进入磁盘格式转换,磁盘的格式被转换成NTFS。转换完毕后会重新启动一次,比不转换磁盘格式多一次重启。启后进行检测,并可见XP界面。15选择“区域和语言”。在安装英文版XP又想让它支持中文时,这个画面的选项比较重要。a)上方的提示:将“标准和格式”设置为“英语(美国)”,“位置”设置为“美国”。如果想让英文的XP支持中文(在不装中文包的前提下),就要点“Customize”,然后把“标准和格式”设置成“ChineseSimplified(ChinaPRC)”,位置设置成“China”。b)中间的提示:文本输入默认语言和方法是美式键盘。如果要查看或改变,点“Details”,选中“为东亚语言安装文件”,英文XP才可以支持中文,上面的“区域和语言”里才可以选“中国”和“中文”。16输入名字和公司/组织名,注册时用。以后在右键点“我的电脑”并选“属性”时可以看到这些信息。17“文字和输入语言”设置页,用于设置语言和输入法。18输入计算机名和系统管理员密码。XP正常启动时不使用管理员登录,只在“安全模式”时才出现(安全模式只有系统管理员才可以登录)。19“日期和时间”设置:下面的下拉选框是选时区,在中国应该选“(GMT+08:00)北京重庆乌鲁木齐”。20网络设置:一般选“Typicalsettings(典型设置)”。如果需要其他协议如IPX、NetBEUI等,则点下面的“Customsettings(自定义)”。这个可以在以后的网络属性里改,并不需要在这里设置。21安装所选定的安装组件、帮助文件等等,以及安装[开始]菜单项目、注册组件、保存设置、删除用过的临时文件。重新启动后,进入WINXP的炫丽画面(需要设置WINDOWSXP)。22注册。一般选“现在不注册”。23输入使用这台计算机的用户名,这将出现在登录时的列表中。也可以在系统安装完毕后,在“控制面板—用户帐户”里添加。这里输入的用户名都有系统管理员的权限,而且没有密码,还需在“用户帐户”里创建密码和更改权限。至少应输入一个。建议只输入一个,以后再添加。方法5:最纯净的新系统:第一步:去下载一个EVERESTProfessional,先查看一下你的主板,内存,硬盘有没有问题。第二步:扫描一下你自己的硬盘引导区,把一些重要的资料都发送到网络硬盘或用U盘转走。第三步:只要你的引导区没问题。有用的资料都转走了,你去准备一个DOS启动盘或WINXP的安装盘。第四步:重新启动,光盘引导,将你的硬盘全部格式化,不要只格系统区,或简单地就覆盖安装,而是彻头彻尾的全部格式化,重新分区,再安装。大概也就30-40分钟时间。第五步:进入系统后,别慌着安驱动,先按运行:开始/程序/附件/系统工具/系统信息,选工具菜单下的“文件签名实用程序”,它可以检查一下你新按的系统里有没有没经过微软签名的文件,按理说如果你的WINXP是正版的,那么应该全部经过了签名,如果你的是盗版的,不排除盗版盘子本身就含有木马的可能性,建议遇到没有经过签名的,发到论坛上来,问问高手能不能删除,能的话,删掉。第六步:按好各项驱动后,立即去下载一个卡巴斯机50版,去他们的官方网站:,下载时记得把授权KEY也下载下来,可以免费使用一个月,我看来,它是所有提供免费下载的最好的杀毒软件了。最重要的是,这样就可以第一时间保证你的系统不会在重装系统后再被病毒染上。第七步:用kaspersky扫毒,用最高级别,扫描大概20分钟左右,如果确认没毒的话,那么恭喜你,你的爱机重获新生了。第八步,立即去打SP2补丁,注意要去微软的网站上下,不要从别的地方下。第九步,立即去下载天网防火墙,试用版即可。>捷豹收银系统显示“正在加载后台服务”通常表示系统正在等待与服务器建立连接,或正在获取云端服务的数据。这通常是因为网络速度较慢或者服务器端负载较高所致,需要耐心等待一段时间。如果系统显示“正在加载后台服务”的时间过长,可以尝试重新启动收银系统或者检查网络连接是否稳定。

你自己写一个servlet,在init方法中进行监听即可,在部署文件webxml中,将这个servlet设置为load-on-startup即可。如:
<servlet>
<servlet-name>myServlet</servlet-name>
<servlet-class>commyservletmyServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>myServlet</servlet-name>
<url-pattern>/myServlet/</url-pattern>
</servlet-mapping>
这样,tomcat启动时便加载这个servlet,其init方法会自动被调用
相当于server socket 写在servlet里
具体可以百度"WEB服务器启动时加载一个ServerSocket服务"


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13381391.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-25
下一篇 2023-07-25

发表评论

登录后才能评论

评论列表(0条)

保存