| 操作系统 办公 实用知识 设计 开发 WEB开发 移动开发 数据库 软件工程 网管 安全 管理 信息化 答疑 渠道 |
ASP.NET升级能力探讨br> Scalability 总是与我的最后一个话题 performance 缠绕在一起,但事实上,它们是完全不同的两个问题。在Performance 一节里,我已谈及了 caching, 它是scalability 最大的改进之一,因此,我(作者)在想,我还得找些其它一些内容在这节里讨论。 首先,此系统建成,本身有着一定的特性,以改进多处理器和串环境中的性能。例如,session state 能够通过单独的处理器来维持,在一个单独的机器上,甚至在数据库中允许交叉的服务器sessions。通过这样,即使在开发过程中你没有想过会快速增加的流量,也可以相对容易的增加更多的网络服务器。 这儿同样有一些被称作“web花园”的东西,我也不太完全了解。但是,它们可以帮助多处理器的机器,帮助它们做比单处理器更多的工作。我认为它是个非常新奇的想法,但是,也有人认为他们不会使用这项功能。 因此,你已经拥有了建立一个完善的web农场的工具,但是如何使它们不停的运作呢?当然,ASP。NET runtime会监控并管理进程。当有漏洞或者是死锁时,runtime会自动关闭,但是只需等待,它会恢复。在老版本关闭之前,一个新的版本会在老版本的位置启动以覆盖老版本。Runtime然后会引导新的指令至新的工作进程并排斥老指令然后关闭。因为有了替换,最后用户是不会发现任何改动的。 在介绍这么多ASP.NET 的高性能后,下面我将介绍几个例子。 先举一个c#的例子 验证用户表单输入 运行环境:Win2000 Advance Server+IIS5.0+NGWS SDK(80M的). $#@60;%@ Page Language="C#" %$#@62; $#@60;html$#@62; $#@60;script language="javascript"$#@62; function ClientValidateEmail(source, value) { var strr; re=/(w+@w+.w+)(.w*)(.w*)/i; re.exec(value); if (RegExp.!=""&&RegExp.!="."&&RegExp.!=".") strr=RegExp.+RegExp.+RegExp. else if (RegExp.!=""&&RegExp.!=".") strr=RegExp.+RegExp. else strr=RegExp. if (strr!=value) return false; else return true; } $#@60;/script$#@62; $#@60;body$#@62; $#@60;h3$#@62;ASP.NET验证用户输入$#@60;/h3$#@62; $#@60;form method=post runat= ver$#@62; $#@60;hr width=600 size=1 noshade$#@62; $#@60;table$#@62; $#@60;tr$#@62; $#@60;td$#@62; $#@60;asp:ValidationSummary ID="valSum" runat="server" HeaderText="你必须输入下面这些表单域:" DisplayMode="bulletlist" Font-Name="宋体" Font-Size="12" /$#@62; $#@60;/td$#@62; $#@60;/tr$#@62; $#@60;/table$#@62; $#@60;center$#@62; $#@60;p$#@62; $#@60;!-- 登陆信息 --$#@62; $#@60;table border=0 width=600 $#@62; $#@60;tr$#@62;$#@60;td colspan=3$#@62; $#@60;table border=0 cellpadding=0 cellspacing=0 width="100%"$#@62; $#@60;tr$#@62;$#@60;td$#@62; $#@60;b$#@62;登陆信息$#@60;/b$#@62; $#@60;/td$#@62;$#@60;/tr$#@62; $#@60;/table$#@62; $#@60;/td$#@62;$#@60;/tr$#@62; $#@60;tr$#@62; $#@60;td align=right$#@62; Email地址: $#@60;/td$#@62; $#@60;td$#@62; $#@60;asp:TextBox id=email width=200px maxlength=60 runat=server /$#@62; $#@60;/td$#@62; $#@60;td$#@62; $#@60;asp:RequiredFieldValidator id="emailReqVal" ControlToValidate="email" ErrorMessage="Email地址" Display="Dynamic" Font-Name="宋体" Font-Size="12" runat=server$#@62; * $#@60;/asp:RequiredFieldValidator$#@62; $#@60;asp:CustomValidator id="emailRegexVal" runat="server" ControlToValidate="email" ClientValidationFunction="ClientValidateEmail" Display="Static" Font-Name="宋体" Font-Size="12"$#@62; 非法Email地址 $#@60;/asp:CustomValidator$#@62; $#@60;/td$#@62; $#@60;/tr$#@62; $#@60;tr$#@62; $#@60;td align=right$#@62; 密码: $#@60;/td$#@62; $#@60;td$#@62; $#@60;asp:TextBox id=passwd TextMode="Password" maxlength=20 runat=server/$#@62; $#@60;/td$#@62; $#@60;td$#@62; $#@60;asp:RequiredFieldValidator id="passwdReqVal" ControlToValidate="passwd" ErrorMessage="用户密码" Display="Dynamic" Font-Name="宋体" Font-Size="12" runat=server$#@62; * $#@60;/asp:RequiredFieldValidator$#@62; $#@60;asp:RegularExpressionValidator id="passwdRegexBal" ControlToValidate="passwd" ValidationExpression=".*[!@#$%^&*+;:].*" Display="Static" Font-Name="宋体" Font-Size="12" Width="100%" runat=server$#@62; 密码必须包含如下字符: (!@#$%^&*+;:) $#@60;/asp:RegularExpressionValidator$#@62; $#@60;/td$#@62; $#@60;/tr$#@62; $#@60;tr$#@62;
今日推荐
|
重点推荐
领军企业技术文库
+更多领军技术文库
最新专题
电子杂志订阅
| ||||||||